From: James Parrott <80779630+JamesParrott@users.noreply.github.com> Date: Tue, 2 Sep 2025 14:56:23 +0000 (+0100) Subject: gh-138297 Point link in docs for `finally` to try/else, instead of if/else (#138298) X-Git-Tag: v3.15.0a1~536 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8d5c3341c538cd1a4192ca8a1536b2eed4b98c69;p=thirdparty%2FPython%2Fcpython.git gh-138297 Point link in docs for `finally` to try/else, instead of if/else (#138298) Co-authored-by: Brian Schubert Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com> --- diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index 4e49a49c0816..05f05bc41a21 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -416,12 +416,14 @@ clauses. -------------------------- If :keyword:`!finally` is present, it specifies a 'cleanup' handler. The -:keyword:`try` clause is executed, including any :keyword:`except` and -:keyword:`else` clauses. If an exception occurs in any of the clauses and is -not handled, the exception is temporarily saved. The :keyword:`!finally` clause -is executed. If there is a saved exception it is re-raised at the end of the -:keyword:`!finally` clause. If the :keyword:`!finally` clause raises another -exception, the saved exception is set as the context of the new exception. +:keyword:`try` clause is executed, including any :keyword:`except` +and :keyword:`else ` clauses. +If an exception occurs in any of the clauses and is not handled, +the exception is temporarily saved. +The :keyword:`!finally` clause is executed. If there is a saved exception +it is re-raised at the end of the :keyword:`!finally` clause. +If the :keyword:`!finally` clause raises another exception, the saved exception +is set as the context of the new exception. If the :keyword:`!finally` clause executes a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement, the saved exception is discarded. For example, this function returns 42.