【发布时间】:2023-04-11 06:06:01
【问题描述】:
以下代码引发语法错误:
>>> for i in range(10):
... print i
... try:
... pass
... finally:
... continue
... print i
...
File "<stdin>", line 6
SyntaxError: 'continue' not supported inside 'finally' clause
为什么在 finally 子句中不允许使用 continue 语句?
附:另一方面,其他代码没有问题:
>>> for i in range(10):
... print i
... try:
... pass
... finally:
... break
...
0
如果重要的话,我使用的是 Python 2.6.6。
【问题讨论】:
-
看起来只是纯粹的懒惰? gossamer-threads.com/lists/python/dev/484210
-
@Mike Christensen:我也找到了那个线程,但文档说“继续可能只在语法上嵌套在 for 或 while 循环中,但不能嵌套在函数或类定义中 或 finally该循环中的子句”。那么这是懒惰还是故意的,后来需要改变? ... 就像 Python 中的很多东西一样 ...
-
您阅读了整个主题吗? - 底部有一些有趣的信息,关于在 finally 块中
continue的实际含义,以及可能出现的各种问题。值得一读。 -
@Mike Christensen:Ups...错过了。确实,对于所描述的情况,这是有道理的。
标签: python syntax-error continue finally