今日、以下が例外なく機能することを見て驚きました (少なくとも Python 2.7.3 では)。
>>> try:
... pass
... except ThingThatDoesNotExist:
... print "bad"
...
>>>
NameError
次のように、これは REPL でa を発生させるはずだと私は考えていたでしょう:
>>> x = ThingThatDoesNotExist
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'ThingThatDoesNotExist' is not defined
ここで何が起こっているのか誰にも分かりますか?