3
내 프로세스가 종료되는 오류를 기록하려고하는데 traceback.print_tb
및 traceback.print_exc
은 발생한 오류를 인식하지 못합니다.등록 된 atexit 함수에서 오류 추적 가져 오기
즉, 왜 'DivisionByZero .. 등'대신 'None \ n'이 인쇄됩니까? (편집 :? .. 그리고 내가 exit_fn 내에서 제기/처리 오류에 대한 액세스 권한을 얻는 방법)
import traceback, atexit
def exit_fn():
print 'exiting'
if traceback.format_exc().startswith('None'):
print 'why is this None?'
atexit.register(exit_fn)
x = 1/0
나는 당신의 루틴이 호출 된 시간, 예외가 이미 '처리'된 것으로 생각
도움이 될 수 있습니다. http://stackoverflow.com/questions/9741351/how-to-find-exit-code-or-reason-when-atexit-callback-is-called-in-python – e9t