5

今日、以下が例外なく機能することを見て驚きました (少なくとも 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

ここで何が起こっているのか誰にも分かりますか?

4

1 に答える 1