7
Exceptionオブジェクト自体から完全なスタックトレースを取得するにはどうすればよいですか?Python 2.7の例外オブジェクトからスタックトレースを取得するにはどうすればよいですか?
は、問題の低減の例として以下のコードを検討:
last_exception = None
try:
raise Exception('foo failed')
except Exception as e:
print "Exception Stack Trace %s" % e
sys.exc_info()の結果を盲目的に保存すると、悪い結果になります... http://docs.python.org/library/sys.html#sys.exc_info - "警告トレースバック戻り値を例外を処理している関数内のローカル変数は、循環参照を引き起こします。 –
また、traceback.print_tb(* sys.exc_info())ではなく、http://docs.python.org/library/traceback.html#traceback.format_excを使用して、書式設定されたトレースバック文字列を取得することをおすすめします。 –