对于Python中任何可能的try-finally块,是否保证finally
将始终执行该块?
例如,假设我在一个except
街区中返回:
try:
1/0
except ZeroDivisionError:
return
finally:
print("Does this code run?")
或者,也许我重新提出一个Exception
:
try:
1/0
except ZeroDivisionError:
raise
finally:
print("What about this code?")
测试表明finally
上述示例确实可以执行,但我想我还没有想到其他场景。
在任何情况下,某个finally
块可能无法在Python中执行?
finally
将不会运行。如果计算机在:D
finally
如果从墙上撕下电源线,将不会执行。
finally
无法执行或“sys.exit
破坏其目的”是在无限循环或强制中断期间。该文档各国finally
始终执行,所以我与去。