我正在使用外部库,在某些情况下会在其中一个模块中引发通用Exception
:
if some_condition:
raise Exception('DSSP failed to produce an output')
这只发生在一些边缘情况下,但仍然是我想要捕捉和处理的东西。
所以,除了诅咒原始编码员提出通用Exception
之外,我还有什么选择?我只想在原始代码中捕获并处理这一特定行。什么是最恐怖的处理方式?
答案 0 :(得分:2)
抓住Exception
并重新启动它是否不是您正在寻找的例外情况:
try:
do_thing()
except Exception as e:
if type(e) is not Exception:
# Not what we're looking for. Let it pass.
raise
handle(e)
如果你想确定它是你正在寻找的例外,你可以添加一些其他支票,例如检查例外' message
。