プロセスがシャットダウンする原因となったエラーをログに記録しようとしていますが、発生したエラーが何であるかを認識しtraceback.print_tb
てtraceback.print_exc
いないようです。
言い換えれば、次のように出力すると、'DivisionByZero .. etc ..' ではなく '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