weird try/finally behaviour
Sylvain Thénault
sylvain.thenault at logilab.fr
Fri Apr 10 07:49:51 EDT 2009
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
More information about the Python-list
mailing list