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プログラミングにおけるエラーハンドリングやデバッグの助けになれば幸いです。