小编典典

如何获取在 Python 中捕获的异常的名称?

all

如何获取 Python 中引发的异常的名称?

例如,

try:
    foo = bar
except Exception as exception:
    name_of_exception = ???
    assert name_of_exception == 'NameError'
    print "Failed with exception [%s]" % name_of_exception

例如,我正在捕获多个(或全部)异常,并希望在错误消息中打印异常的名称。


阅读 103

收藏
2022-07-14

共1个答案

小编典典

以下是获取异常类名称的几种不同方法:

  1. type(exception).__name__
  2. exception.__class__.__name__
  3. 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'
2022-07-14