[Python-Dev] PEP 343 - Abstract Block Redux
Nick Coghlan
ncoghlan at gmail.com
Sun May 15 09:22:51 CEST 2005
Guido van Rossum wrote:
> [Fredrik Lundh]
>
>>unlike the original design, all you get from this is
>>the ability to add try/finally blocks to your code
>>without ever writing a try/finally-clause (neither
>>in your code or in the block controller). that
>>doesn't strike me as especially pythonic.
>
> Would it be better if we pulled back in the generator exit handling
> from PEP 340? That's a pretty self-contained thing, and would let you
> write try/finally around the yield.
That would be good, in my opinion. I updated PEP 3XX to use this idea:
http://members.iinet.net.au/~ncoghlan/public/pep-3XX.html
With that update (to version 1.6), PEP 3XX is basically PEP 343, but injecting
exceptions that occur into the template generator's internal frame instead of
invoking next().
The rest of the PEP is then about dealing with the implications of allowing
yield inside try/finally statements.
The Rejected Options section tries to look at all the alternatives brought up in
the various PEP 310, 340 and 343 discussions, and explain why PEP 3XX chooses
the way it does.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://boredomandlaziness.blogspot.com
More information about the Python-Dev
mailing list