[Python-Dev] PEP 479: Change StopIteration handling inside generators

MRAB python at mrabarnett.plus.com
Wed Nov 19 21:48:39 CET 2014


On 2014-11-19 20:10, Guido van Rossum wrote:
> There's a new PEP proposing to change how to treat StopIteration
> bubbling up out of a generator frame (not caused by a return from
> the frame). The proposal is to replace such a StopIteration with a
> RuntimeError (chained to the original StopIteration), so that only
> *returning* from a generator (or falling off the end) causes the
> iteration to terminate.
>
The PEP says """any generator that depends on an implicitly-raised
StopIteration to terminate it will have to be rewritten to either catch
that exception or use a for-loop"""

Shouldn't that be "... explicitly-raised ...", because returning raises
StopIteration implicitly? ("raise StopIteration" is explicit)


More information about the Python-Dev mailing list