gh-135110: Fix misleading generator.close() documentation (GH-135152)

The documentation incorrectly stated that generator.close() 'raises' a
GeneratorExit exception. This was misleading because the method doesn't
raise the exception to the caller - it sends the exception internally
to the generator and returns None.
This commit is contained in:
Connor Denihan 2025-06-26 09:27:25 -04:00 committed by GitHub
parent fb9e292919
commit 0d76dccc3b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 5 additions and 3 deletions

View file

@ -602,7 +602,7 @@ generators:
raise an exception inside the generator; the exception is raised by the
``yield`` expression where the generator's execution is paused.
* :meth:`~generator.close` raises a :exc:`GeneratorExit` exception inside the
* :meth:`~generator.close` sends a :exc:`GeneratorExit` exception to the
generator to terminate the iteration. On receiving this exception, the
generator's code must either raise :exc:`GeneratorExit` or
:exc:`StopIteration`; catching the exception and doing anything else is

View file

@ -625,8 +625,10 @@ is already executing raises a :exc:`ValueError` exception.
.. method:: generator.close()
Raises a :exc:`GeneratorExit` at the point where the generator function was
paused. If the generator function catches the exception and returns a
Raises a :exc:`GeneratorExit` exception at the point where the generator
function was paused (equivalent to calling ``throw(GeneratorExit)``).
The exception is raised by the yield expression where the generator was paused.
If the generator function catches the exception and returns a
value, this value is returned from :meth:`close`. If the generator function
is already closed, or raises :exc:`GeneratorExit` (by not catching the
exception), :meth:`close` returns :const:`None`. If the generator yields a