\

Pythonで例外が発生した際に、その例外の詳細な情報(発生した行番号やファイル名など)を取得する方法について説明します。

Pythonでは、sysモジュールのexc_info()関数を使用して例外の詳細情報を取得することができます。この関数は、例外の型、例外のインスタンス、トレースバックオブジェクトの3つの値を含むタプルを返します。

以下に、例外が発生した際にその詳細情報を表示するサンプルコードを示します。

import sys, os

try:
    raise NotImplementedError("No error")
except Exception as e:
    exc_type, exc_obj, exc_tb = sys.exc_info()
    fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
    print(exc_type, fname, exc_tb.tb_lineno)

このコードでは、NotImplementedErrorを発生させ、その例外をキャッチしています。例外がキャッチされると、sys.exc_info()関数を呼び出して例外の詳細情報を取得し、その情報を表示しています。

このように、Pythonではsys.exc_info()関数を使用することで、例外が発生した際の詳細な情報を取得することができます。これにより、デバッグ時に問題の原因を特定しやすくなります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です