try:
raise KeyError()
except KeyError:
print "Caught KeyError"
raise Exception()
except Exception:
print "Caught Exception"
正如预期的那样,提高 Exception()
在第 5 行未陷入决赛 except Exception
条款。为了捕获 except KeyError
中的异常 block ,我必须添加另一个 try...except
像这样复制最后的 except Exception
逻辑:
try:
raise KeyError()
except KeyError:
print "Caught KeyError"
try:
raise Exception()
except Exception:
print "Caught Exception"
except Exception:
print "Caught Exception"
在 Python 中,是否可以将执行流程传递给最终的 except Exception
像我想做的那样阻止?如果没有,是否有减少逻辑重复的策略?
最佳答案
您可以添加另一层try
嵌套:
try:
try:
raise KeyError()
except KeyError:
print "Caught KeyError"
raise Exception()
except Exception:
print "Caught Exception"
关于带有多个 except block 的 Python Try/Except,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36755248/