Hi there, I've encountered the following behaviour which I found surprising:
>>> def test(): ... for x in ('test', 'tests'): ... try: ... if True: ... print 'return' ... return 1 ... finally: ... print 'break' ... break ... print 'end' ... >>> >>> test() return break end As you can see, the 'break' in the finally block makes the 'return 1' beeing ignored. Is this a known caveat or should it be considered as a bug? -- Sylvain Thénault LOGILAB, Paris (France) Formations Python, Debian, Méth. Agiles: http://www.logilab.fr/formations Développement logiciel sur mesure: http://www.logilab.fr/services CubicWeb, the semantic web framework: http://www.cubicweb.org -- http://mail.python.org/mailman/listinfo/python-list