Greg Ewing wrote:
> Guido van Rossum wrote:
> 
>> But it's been answered already -- we can't change the meaning of
>> StopIteration() with a value unequal to None, so it has to be a
>> separate exception, and it should not derive from StopIteration.
> 
> How about having StopIteration be a subclass of the
> new exception? Then things that want to get generator
> return values only have one exception to catch, and
> things that only know about StopIteration will fail
> to catch the new exception.

I actually like that, because it means that "coroutine-y" code could
pretty much ignore the existence of StopIteration (despite it existing
first).

It would also mean that it wouldn't matter if "return" and "return None"
both raised StopIteration, since they would still be intercepted by
GeneratorReturn exception handlers.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
---------------------------------------------------------------
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to