如何检查类是否为异常类?

vol*_*gas 6 python exception python-3.x

我定义了一个自定义异常:

>>> class MyException(Exception):
>>>     pass
Run Code Online (Sandbox Code Playgroud)

我创建一个异常实例:

>>> a = MyException()
Run Code Online (Sandbox Code Playgroud)

我检查这是否是一个例外。正如预期的那样,它是:

>>> isinstance(a, Exception)
True 
Run Code Online (Sandbox Code Playgroud)

但是如何检查该类是否是异常类呢?

>>> myclass = MyException
>>> isinstance(myclass, Exception)
False
Run Code Online (Sandbox Code Playgroud)

Che*_*eta 7

您可以使用issubclass函数检查一个类是否从其他类继承

print issubclass(MyException, Exception)
Run Code Online (Sandbox Code Playgroud)

结果:

True
Run Code Online (Sandbox Code Playgroud)