Fredrik Lundh wrote: > the language reference says: > > continue may only occur syntactically nested in a for or while loop, > but not nested in a function or class definition or finally statement > within that loop. /.../ > > It may occur within an except or else clause. The restriction on occurring > in the try clause is implementor's laziness and will eventually be lifted. > > and it looks like the new compiler still has the same issue: > > $ python test.py > File "test.py", line 5: > continue > SyntaxError: 'continue' not supported inside 'finally' clause > > how hard would it be to fix this ? > > (shouldn't the "try clause" in the note read "finally clause", btw? > "continue" > within the "try" suite seem to work just fine...)
For the latter: the documentation apparently wasn't fully updated in r19260: it only changed ref7.tex, but not ref6.tex. IOW, it really means to say "in the try clause", and it is out-of-date in saying so. As for "continue in the 'finally' clause: What would that mean? Given def f(): raise Exception while 1: try: f() finally: g() continue then what should be the meaning of "continue" here? The finally block *eventually* needs to re-raise the exception. When should that happen? So I would say: It's very easy to fix, just change the message to SyntaxError: 'continue' not allowed inside 'finally' clause :-) Regards, Martin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com