Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从Finally子句引发异常_Python_Python 3.x_Exception - Fatal编程技术网

Python 从Finally子句引发异常

Python 从Finally子句引发异常,python,python-3.x,exception,Python,Python 3.x,Exception,我知道,一般来说,我们不应该期望从finally子句抛出异常的状态,然而,我看到了可能发生这种情况的情况 关于它,您的方法是什么,您是否会在finally子句中输入另一个try except嵌套 这听起来有点奇怪 我知道,一般来说,我们不应该期望从finally子句抛出异常的状态,然而,我看到了可能发生这种情况的情况 在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
部分引发异常,我将确定地记录它。