我可以在异常发生后返回执行 try
块吗?
例如:
try:
do_smth1()
except:
pass
try:
do_smth2()
except:
pass
对比
try:
do_smth1()
do_smth2()
except:
??? # magic word to proceed to do_smth2() if there was exception in do_smth1
原文由 igor 发布,翻译遵循 CC BY-SA 4.0 许可协议
不,你不能那样做。这就是 Python 的语法。一旦你因为异常退出了一个 try-block,就没有办法回来了。
但是for循环呢?
但是请注意,裸露的
except
被认为是一种不好的做法。您应该改为捕获特定异常。我捕获了Exception
因为在不知道这些方法可能抛出什么异常的情况下,我可以做到这一点。