Python 从Finally子句引发异常
我知道,一般来说,我们不应该期望从finally子句抛出异常的状态,然而,我看到了可能发生这种情况的情况 关于它,您的方法是什么,您是否会在Python 从Finally子句引发异常,python,python-3.x,exception,Python,Python 3.x,Exception,我知道,一般来说,我们不应该期望从finally子句抛出异常的状态,然而,我看到了可能发生这种情况的情况 关于它,您的方法是什么,您是否会在finally子句中输入另一个try except嵌套 这听起来有点奇怪 我知道,一般来说,我们不应该期望从finally子句抛出异常的状态,然而,我看到了可能发生这种情况的情况 在finally子句中出现可能会抛出错误的东西并不常见,但这当然是允许的。我会建议您认为,对于您的用例来说,这真的是必要的(当您的问题如此笼统时,很难说) 除了嵌套到finally
finally
子句中输入另一个try except
嵌套
这听起来有点奇怪
我知道,一般来说,我们不应该期望从finally子句抛出异常的状态,然而,我看到了可能发生这种情况的情况
在finally
子句中出现可能会抛出错误的东西并不常见,但这当然是允许的。我会建议您认为,对于您的用例来说,这真的是必要的(当您的问题如此笼统时,很难说)
除了嵌套到finally子句外,是否还要输入另一个try
是的,这是唯一的解决办法。例如,可以这样处理:
try:
maybe_error()
except SpecificError:
handle_error()
finally:
try:
risky_close_resource()
except OtherError:
handle_other_error()
finally:
close_everything_without_risks()
异常可以从
finally
块抛出,与从其他任何地方抛出的异常相同。它是否合适取决于情况和您希望发生的事情。但是在finally中输入另一个try-except子句可以吗?或者这可能是一种不好的做法(我以前从未见过)是的,如果适合您的情况,您可以将try
块放在finally
块中。您是否有具体的示例来回答您的问题,或者它基本上是关于一般意见的?是的,我在finally子句中记录运行在try
子句上的事情的最终结果,这是因为如果从try
部分引发异常,我将确定地记录它。