try:
raise KeyError()
except KeyError:
print "Caught KeyError"
raise Exception()
except Exception:
print "Caught Exception"
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,Exception()在最后一个except Exception条款中没有提到第5行.为了捕获except KeyError块内的异常,我必须添加另一个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"
Run Code Online (Sandbox Code Playgroud)
在Python中,是否有可能将执行流程传递给最终except Exception块,就像我想要做的那样?如果没有,是否有减少逻辑重复的策略?
您可以添加另一个try嵌套级别:
try:
try:
raise KeyError()
except KeyError:
print "Caught KeyError"
raise Exception()
except Exception:
print "Caught Exception"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1182 次 |
| 最近记录: |