try...finally is more powerful than I thought.
Brian Kelley
bkelley at wi.mit.edu
Thu Nov 6 15:55:09 EST 2003
def res():
try:
a = 1
return
finally:
print "do I get here?"
res()
outputs "do I get here?"
I can't say why I didn't really expect this, the control flow is a
little wierd as the function isn't really returning at the "return"
statement but executing the bit in the finally: block and then
returning. I think :)
That being said, I like it a lot. How is this working internally? Does
the finally get executed when try code block goes out of scope? This
would happen during a return or an exception which could explain the magic.
Brian
More information about the Python-list
mailing list