【发布时间】:2017-10-04 14:45:49
【问题描述】:
为什么下面的 python 代码 sn -p NOT 的输出只是 No exception:1,因为在第一次迭代期间没有引发异常。来自 python 文档 (https://docs.python.org/2.7/tutorial/errors.html)。
try ... except 语句有一个可选的 else 子句,当 现在,必须遵循所有 except 子句。它对以下代码很有用 如果 try 子句没有引发异常,则必须执行。
$ cat hello.py
for x in range(1,10):
try:
if x == 1:
continue
x/0
except Exception:
print "Kaput:%s" %(x)
else:
print "No exception:%s" %(x)
break
$ python hello.py
Kaput:2
Kaput:3
Kaput:4
Kaput:5
Kaput:6
Kaput:7
Kaput:8
Kaput:9
$ python -V
Python 2.7.8
【问题讨论】:
-
请注意我的目的不是让代码工作。这是一个玩具示例,我更想知道为什么该行为与教程文档所说的不符?如果有解释此行为原因的文档或 python 规范,请提供参考。
标签: python python-2.7