Python で発生した例外の名前を取得するにはどうすればよいですか?
例えば、
try:
foo = bar
except Exception as exception:
name_of_exception = ???
assert name_of_exception == 'NameError'
print "Failed with exception [%s]" % name_of_exception
たとえば、複数の (またはすべての) 例外をキャッチし、エラー メッセージに例外の名前を出力したいとします。
ベストアンサー1
例外のクラス名を取得する方法はいくつかあります。
type(exception).__name__
exception.__class__.__name__
exception.__class__.__qualname__
例えば、
try:
foo = bar
except Exception as exception:
assert type(exception).__name__ == 'NameError'
assert exception.__class__.__name__ == 'NameError'
assert exception.__class__.__qualname__ == 'NameError'