【发布时间】:2014-12-28 22:17:19
【问题描述】:
在这个答案https://stackoverflow.com/a/27680814/3456281 中,提出了以下构造
a=[1,2]
while True:
if IndexError:
print ("Stopped.")
break
print(a[2])
实际上打印“已停止”。和中断(使用 Python 3.4.1 测试)。
为什么?!为什么if IndexError 甚至是合法的?为什么a[2] 没有提出IndexError 而周围没有try ... except?
【问题讨论】:
-
嗯,这是我的回答,但我没有意识到它总是 True。
-
这真的很有趣,我从来不知道这个
-
我删除了答案,因此我被否决了:-)
-
@qqvc 等等...您在建议涉及您不理解的概念的答案?请不要那样做。
-
我不明白什么?我很清楚这个问题。
标签: python exception exception-handling boolean