At 12:53 PM 3/28/2009 +1200, Greg Ewing wrote:
Guido van Rossum wrote:

Perhaps the crux is that *if* you accidentally use "return <value>" in
a vanilla generator expecting the value to show up somewhere, you are
probably enough of a newbie that debugging this will be quite hard.
I'd like not to have such a newbie trap lying around.

Okay, so would you be happy if the for-loop were to
raise an exception if it gets a StopIteration whose
value is not None?

Wouldn't it have to be more than just for-loops? What about list(), map(), ...?

It seems a lot simpler to just make it use a different exception, as nothing else has to change for that to work correctly; the new construct can just catch it, and everywhere else it's an error.

_______________________________________________
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