https://github.com/python/cpython/commit/a44509ea87021f78a9f769aff2bb3fc212bc8afc
commit: a44509ea87021f78a9f769aff2bb3fc212bc8afc
branch: main
author: Bartosz Sławecki <[email protected]>
committer: encukou <[email protected]>
date: 2025-12-16T11:15:37+01:00
summary:
gh-139320: Cover exception chaining in the docs of `contextmanager.__exit__`
(GH-140169)
files:
M Doc/library/stdtypes.rst
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index a0b78f8053764b..5cfa888706f9b9 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -5475,9 +5475,11 @@ before the statement body is executed and exited when
the statement ends:
Returning a true value from this method will cause the :keyword:`with`
statement
to suppress the exception and continue execution with the statement
immediately
following the :keyword:`!with` statement. Otherwise the exception continues
- propagating after this method has finished executing. Exceptions that occur
- during execution of this method will replace any exception that occurred in
the
- body of the :keyword:`!with` statement.
+ propagating after this method has finished executing.
+
+ If this method raises an exception while handling an earlier exception from
the
+ :keyword:`with` block, the new exception is raised, and the original
exception
+ is stored in its :attr:`~BaseException.__context__` attribute.
The exception passed in should never be reraised explicitly - instead, this
method should return a false value to indicate that the method completed
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]