【发布时间】:2017-10-30 17:33:33
【问题描述】:
由于 Python 中的变量可以在其循环和 try-except 块之外访问,我天真地认为下面的这段代码 sn-p 可以正常工作,因为 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
这是为什么?
【问题讨论】:
标签: python python-2.7 python-3.x exception scope