【发布时间】:2016-04-29 12:17:21
【问题描述】:
我想修补一个库来捕获内置的ConnectionError(继承自 OSError)。
到目前为止一切顺利。碰巧的是,该库有一个“自定义”异常,也称为 ConnectionError:
class LibraryError(Exception):
pass
class ConnectionError(LibraryError):
pass
我想,如果我现在尝试捕捉 ConnectionError,那么做类似的事情
try:
do_something()
except ConnectionError as e:
try_to_get_it_right_again()
我只会捕获自定义的ConnectionError,它继承自LibraryError。 (免责声明:我必须承认,我自己没有测试过,因为我不知道如何)。
如何让 Python 捕获内置的 ConnectionError?
【问题讨论】:
-
关于您的免责声明部分,它与范围分辨率有关,因此您是对的,因为最后检查了内置插件。如果你愿意,可以看看这个SO answer。
标签: python class exception namespaces