请参考以下代码:
import sys
def x():
try:
y()
except:
print("exception caught")
def y():
sys.exit()
x()
在这种情况下,函数中的 try 循环 x()
将被转移到函数 y()
中,导致异常循环由于 sys.exit()
引发错误而运行我知道,我们可以将其更改为引发 SystemExit 以退出它,但是有没有办法跳出 try 循环,或者有没有更好的方法来编写这段代码?
感谢您阅读并提前致谢。
原文由 Panc4kes 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以编写
except Exception
,它会捕获代码中所有常见的异常,但不会SystemExit
异常,因为它不继承自Exception
,继承自-BaseException