我知道,一般而言,我们不应该期望finally子句会引发异常,但是,我看到了可能发生这种情况的情况。
您的处理方式是什么,您是否会在try except
子句中输入另一个finally
嵌套?
听起来有点奇怪。...
答案 0 :(得分:0)
我知道,一般来说,我们不应该期望finally子句会引发异常,但是,我看到可能会发生这种情况。
finally
子句中可能会引发错误的情况并不十分普遍,但可以允许。我建议您考虑一下用例是否真的必要(当问题如此笼统时很难说)。
除了嵌套到finally子句之外,您还会输入其他尝试吗?
是的,这实际上是处理它的唯一方法。例如,可以这样处理:
try:
maybe_error()
except SpecificError:
handle_error()
finally:
try:
risky_close_resource()
except OtherError:
handle_other_error()
finally:
close_everything_without_risks()