我在一个块中有一个语句try: except KeyError: pass
块,想知道如何在引发异常的行之后让Python尝试执行代码。
例如
try:
print "entering try block"
print this_var_does_not_exists
print "past exception"
except:
pass
我想尝试打印"past exception"
。
当我运行上面的代码时,它只会打印 'entering try block'
Python不允许您重新输入失败的代码块。相反,您可以制作一个嵌套try
块:
try:
print "before"
try:
print d['not-exist']
except KeyError:
pass
print "after"
except OtherError:
print "OtherError"
请注意,您通常可以避免KeyError
使用.get
:
try:
x = d['key']
except KeyError:
x = 0
相当于
x = d.get('key', 0)
通常,尝试使try
逻辑上的块尽可能短,以便您有更好的机会以适当的局部方式处理错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句