[Python-Dev] Re: anonymous blocks
tcdelaney at optusnet.com.au
Thu Apr 28 01:07:00 CEST 2005
Guido van Rossum wrote:
>> 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().
OK - so what is the point of the sentence::
The generator should re-raise this exception; it should not yield
when discussing StopIteration?
More information about the Python-Dev