]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-139320: Cover exception chaining in the docs of `contextmanager.__exit__` (GH...
authorBartosz Sławecki <bartosz@ilikepython.com>
Tue, 16 Dec 2025 10:15:37 +0000 (11:15 +0100)
committerGitHub <noreply@github.com>
Tue, 16 Dec 2025 10:15:37 +0000 (11:15 +0100)
Doc/library/stdtypes.rst

index a0b78f8053764b6bfdc9bfadbd9c2117f9314ba1..5cfa888706f9b9c0e144bcac3f0beb048545de43 100644 (file)
@@ -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