見出し画像

【Python】traceback.format_exc()について知りたいときのための記事


traceback.format_exc()について

`traceback.format_exc()` はPythonの`traceback`モジュールの関数の一つで、プログラム中で発生した例外(エラー)のトレースバックを文字列として取得するために使われます。トレースバックは、例外が発生した際にどの行で何が起きたのかを示す情報で、デバッグに非常に有効です。

この関数は例外が発生した後に呼び出すことで、その例外の詳細な情報を含む文字列を返します。これにより、例外の原因をより詳細に理解し、問題の解決に役立てることができます。

シンプルなプログラム

例として、以下のようなシンプルなプログラムを考えてみましょう。このプログラムでは意図的に例外を発生させ、`traceback.format_exc()`を用いてその詳細を表示します。

import traceback

try:
    # 0で割り算をし、意図的に例外を発生させる
    result = 10 / 0
except Exception:
    # 発生した例外のトレースバックを取得し、表示する
    error_msg = traceback.format_exc()
    print("例外が発生しました:")
    print(error_msg)

このコードを実行すると、`ZeroDivisionError`(ゼロ除算エラー)が発生しますが、`except`ブロックによってこの例外は捕捉され、`traceback.format_exc()`によって例外のトレースバックが文字列として取得され、表示されます。

シンプルなプログラムを実行した場合(参考例)

実行した場合の画面は以下のようになります。(参考例)

例外が発生しました:
Traceback (most recent call last):
File "C:/Users/User/.../test.py", line 5, in <module>
result = 10 / 0
ZeroDivisionError: division by zero

`traceback.format_exc()`により、エラーの原因を特定しやすくなり、デバッグ作業を容易に進めることができます。


よろしくお願いしますッ!