[Python-ideas] Yield-From: Revamped expansion
Bruce Frederiksen
dangyogi at gmail.com
Mon Mar 23 02:23:19 CET 2009
Nick Coghlan wrote:
>
> I'd adjust the inner exception handlers to exploit the fact that
> SystemExit and GeneratorExit don't inherit from BaseException:
>
> [...]
> except:
> # Covers SystemExit, GeneratorExit and
> # anything else that doesn't inherit
> # from Exception
> _m = getattr(_i, 'close', None)
> if _m is not None:
> _m()
> raise
>
This feels better to me too. Though it seems that _i.throw would be
more appropriate than _i.close (except call _i.close is there is no
_i.throw -- is it possible to have a close and not a throw?).
I like the idea that "finally" (in try/finally) means finally and not
"maybe finally" (which boils down to finally in CPython due to the
reference counting collector, but maybe finally in Jython, IronPython or
Pypy).
-bruce frederiksen
More information about the Python-ideas
mailing list