From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Wed, 17 Dec 2025 10:28:37 +0000 (+0100) Subject: [3.13] gh-139320: Cover exception chaining in the docs of `contextmanager.__exit__... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4ca8171550901b2fd23f64a113b40bb1b452620;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-139320: Cover exception chaining in the docs of `contextmanager.__exit__` (GH-140169) (GH-142793) (cherry picked from commit a44509ea87021f78a9f769aff2bb3fc212bc8afc) Co-authored-by: Bartosz Sławecki --- diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index 1b04f76c361a..8f5afea1b6c6 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -5239,9 +5239,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