[Python-Dev] Re: anonymous blocks

Guido van Rossum gvanrossum at gmail.com
Thu Apr 28 01:01:58 CEST 2005


> A minor sticking point - I don't like that the generator has to re-raise any
> ``StopIteration`` passed in. Would it be possible to have the semantics be:
> 
>     If a generator is resumed with ``StopIteration``, the exception is raised
>     at the resumption point (and stored for later use). When the generator
>     exits normally (i.e. ``return`` or falls off the end) it re-raises the
>     stored exception (if any) or raises a new ``StopIteration`` exception.

I don't like the idea of storing exceptions. Let's just say that we
don't care whether it re-raises the very same StopIteration exception
that was passed in or a different one -- it's all moot anyway because
the StopIteration instance is thrown away by the caller of next().

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list