Python 2和3中捕获的异常实例的范围
发布于 2021-01-29 16:53:38
由于在Python中,变量可以在其循环和try
-except
块之外访问,因此我天真地认为以下代码段可以正常工作,因为e
可以访问:
try:
int('s')
except ValueError as e:
pass
print(e)
在Python 2(经过2.7测试)中,它确实按我的预期工作,并且输出为:
invalid literal for int() with base 10: 's'
但是,在Python 3中,我惊讶于输出为:
NameError: name 'e' is not defined
为什么是这样?
关注者
0
被浏览
47