\

Pythonでは、例外が発生した際にその例外のクラス名を取得することが可能です。これは、エラーハンドリングやデバッグ時に非常に役立ちます。以下に、例外のクラス名を取得する方法を示します。

try:
    # ここで例外を発生させるコードを書く
    foo = bar
except Exception as e:
    # 例外のクラス名を取得
    exception_class_name = type(e).__name__
    print(f"例外が発生しました: {exception_class_name}")

このコードでは、type(e).__name__を使用して例外のクラス名を取得しています。ここでeは発生した例外のインスタンスです。

また、例外の完全修飾クラス名(モジュール名を含む)を取得したい場合は、以下のような関数を使用できます。

def get_full_class_name(obj):
    module = obj.__class__.__module__
    if module is None or module == str.__class__.__module__:
        return obj.__class__.__name__
    return module + '.' + obj.__class__.__name__

この関数を使用すると、例えばsqlalchemy.exc.IntegrityErrorのような例外の完全修飾クラス名を取得できます。

以上がPythonで例外のクラス名を取得する方法です。これらの情報が、Pythonプログラミングにおけるエラーハンドリングやデバッグの助けになれば幸いです。

投稿者 admin

コメントを残す

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