【发布时间】:2014-02-15 20:57:13
【问题描述】:
你怎么解释这个:
这段代码应该覆盖 NameError 然后捕获它。
OldNameError = NameError
class NameError(OldNameError):
pass
try:
ccc
except NameError as e:
print "hi"
不打印“hi”。 相反,输出是:
Traceback (most recent call last):
File "try.py", line 6, in <module>
ccc
NameError: name 'ccc' is not defined
但是这段代码:
OldNameError = NameError
class NameError(OldNameError):
pass
try:
raise NameError("oo")
except NameError:
print "hi"
给出我想要的输出:
hi
解释是什么?
谢谢!
【问题讨论】:
标签: python exception overriding nameerror