try...finally is more powerful than I thought.
mwh at python.net
Fri Nov 7 14:07:40 CET 2003
Brian Kelley <bkelley at wi.mit.edu> writes:
> def res():
> a = 1
> print "do I get here?"
> 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.
Internally, and locally to one function, leaving via returning a value
and raising an exception is pretty similar.
I'm not sure that the ability to create routing diagrams
similar to pretzels with mad cow disease is actually a
marketable skill. -- Steve Levin
More information about the Python-list