From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 4 May 2021 13:17:21 +0000 (-0700) Subject: bpo-32822: Add finally with return/break/continue to the tutorial (GH-25600) (#25890) X-Git-Tag: v3.9.6~138 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=91cb1e20e6a432b8b2c1b5db37b03c84b15384fa;p=thirdparty%2FPython%2Fcpython.git bpo-32822: Add finally with return/break/continue to the tutorial (GH-25600) (#25890) This documents in the tutorial docs the behavior of a finally clause in case it should re-raise an exception but contains a return/break/continue statement. (cherry picked from commit a0b9915a8be98427432e13d8eb2207a8b9824179) Co-authored-by: Roberto Hueso --- diff --git a/Doc/tutorial/errors.rst b/Doc/tutorial/errors.rst index f72da5c34044..7bb0b4898990 100644 --- a/Doc/tutorial/errors.rst +++ b/Doc/tutorial/errors.rst @@ -405,6 +405,10 @@ points discuss more complex cases when an exception occurs: or :keyword:`!else` clause. Again, the exception is re-raised after the :keyword:`!finally` clause has been executed. +* If the :keyword:`!finally` clause executes a :keyword:`break`, + :keyword:`continue` or :keyword:`return` statement, exceptions are not + re-raised. + * If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:`continue` or :keyword:`return` statement, the :keyword:`!finally` clause will execute just prior to the diff --git a/Misc/ACKS b/Misc/ACKS index 389c8e133f71..be4527336247 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -766,6 +766,7 @@ Christian Hudon Benoît Hudson Lawrence Hudson Michael Hudson +Roberto Hueso Gomez Jim Hugunin Greg Humphreys Chris Hunt