Pythonプログラミング入門・サンプル・チュートリアル

Pythonプログラミング入門・サンプル・チュートリアル

【Pythonプログラミング入門】トレースバック(スタックトレース)を文字列で取得する

tracebackモジュールのformat_exc()関数を使うと取得することができる。
例外が発生したときにログに出力しておくことでデバッグ時の参考とすることができる。

import traceback

try:
    raise Exception('トレースバックを文字列で取得する')
except:
    error_info_file = open('error_info_file.txt', 'w')
    error_info_file.write(traceback.format_exc())
    error_info_file.close()

    print('トレースバックをファイルに書き込みました')

error_info_file.txtというファイルが作成され、中身は下記の通りとなる。

Traceback (most recent call last):
  File "getTraceback.py", line 4, in <module>
    raise Exception('トレースバックを文字列で取得する')
Exception: トレースバックを文字列で取得する

学習書籍