A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2014-November/136992.html below:

Change StopIteration handling inside generators

[Python-Dev] [Python-ideas] PEP 479: Change StopIteration handling inside generatorsChris Angelico rosuav at gmail.com
Wed Nov 19 22:44:33 CET 2014
On Thu, Nov 20, 2014 at 3:45 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
> The part I found most compelling was when you pointed out that in the
> special method implementations, the normal return path was always spelled
> with "return", while the "value missing" result was indicated with a special
> kind of exception (StopIteration, AttributeError, IndexError or KeyError),
> and then any other exception was consider unexpected.
>
> Generators add the third notion of being able to suspend execution via
> "yield", which then left them with two different ways of spelling
> termination inside the frame: "return" OR "raise StopIteration". The second
> spelling ("raise StopIteration") is then inherently surprising, as it's
> entirely redundant, *except* in that it allows you to effectively have a
> "hidden return" in a generator frame that can't be done anywhere else.

(The above was said on -ideas, but discussion is now moving to -dev,
so I hope it's okay to send the response there.)

Added a paragraph to the PEP draft:

https://github.com/Rosuav/GenStopIter/commit/695961

Should today's date be added to the Post-History?

ChrisA
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4