반응형
파이썬에 대한 일반적인 캐치
조용한 예외가 발생하는 것처럼 보이는 매우 이상한 행동이 있습니다. 모든 예외를 디버그 할 수있는 일반적인 try catch를 어떻게 작성할 수 있습니까? 라인을 따라 뭔가 :
try:
# something that fails
except e:
print e
당면한 문제에 대해 자세히 설명합니다.
내 comp (Ubuntu Linux 8.10)에서 runserver와 mod-python을 통해 잘 작동하는 Django 앱이 있습니다. 배포 서버 (Ubunut Linux 8.10)에서는 runserver를 통해 제대로 작동하지만 mod-python의 아파치를 통해 실패합니다.
원인을 Berkeley DB (bsddb.db) 및 보조 키를 사용하는 앱의 일부로 줄였습니다. 보조 키에 대한 콜백 메서드는 pickle을 사용하여 키 형식을 지정합니다. 단일 값에 대해 pickle을 호출하면 실패합니다. 그러나 cPickle을 사용할 때만 실패하고 콜백 함수 외부의 동일한 값에 피클을 사용하는 것도 작동합니다.
cPickle로 실패하는 이유를 알고 싶습니다.
프로그램 종료 전에 기본적으로 예외가 이미 인쇄됩니다. 오류를 다른 곳으로 보내려면 (인쇄하지 않음) 다음과 같이 할 수 있습니다.
try:
something()
except Exception as e:
send_somewhere(traceback.format_exception(*sys.exc_info()))
raise # reraises the exception
as
키워드를 사용하는이 형식 은 python> 2.6 용입니다. 옛날 방식은 :
except Exception, e:
역 추적 모듈은 역 추적을 서식에 매우 유용합니다. 그런 다음 로그 파일에 기록 할 수 있습니다.
작동합니까? :
except BaseException, e:
참고 URL : https://stackoverflow.com/questions/442343/generic-catch-for-python
반응형
'Nice programing' 카테고리의 다른 글
ActiveRecord 또는 쿼리 해시 표기법 (0) | 2020.10.26 |
---|---|
따옴표로 정규식을 bash? (0) | 2020.10.26 |
1 시간보다 오래된 -mtime 파일 찾기 (0) | 2020.10.26 |
결국 HTML보다 XHTML을 선택하는 이유는 무엇입니까? (0) | 2020.10.26 |
urllib2.HTTPError 또는 urllib.error.HTTPError 재정의하고 어쨌든 응답 HTML 읽기 (0) | 2020.10.26 |