From: Andrés Delfino Date: Sun, 11 Nov 2018 19:33:51 +0000 (-0300) Subject: bpo-33699: Describe try's else clause with the rest of the try clause (GH-7252) X-Git-Tag: v3.8.0a1~524 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b086c8afdb8c862011e3e27d4c8f6833749f2c56;p=thirdparty%2FPython%2Fcpython.git bpo-33699: Describe try's else clause with the rest of the try clause (GH-7252) https://bugs.python.org/issue33699 --- diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index 0dc7ecf99100..474ec884a69f 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -314,9 +314,11 @@ from a function that handled an exception. statement: break statement: continue -The optional :keyword:`else` clause is executed if and when control flows off -the end of the :keyword:`try` clause. [#]_ Exceptions in the :keyword:`else` -clause are not handled by the preceding :keyword:`except` clauses. +The optional :keyword:`else` clause is executed if the control flow leaves the +:keyword:`try` suite, no exception was raised, and no :keyword:`return`, +:keyword:`continue`, or :keyword:`break` statement was executed. Exceptions in +the :keyword:`else` clause are not handled by the preceding :keyword:`except` +clauses. .. index:: keyword: finally @@ -847,10 +849,6 @@ body of a coroutine function. there is a :keyword:`finally` clause which happens to raise another exception. That new exception causes the old one to be lost. -.. [#] Currently, control "flows off the end" except in the case of an exception - or the execution of a :keyword:`return`, :keyword:`continue`, or - :keyword:`break` statement. - .. [#] A string literal appearing as the first statement in the function body is transformed into the function's ``__doc__`` attribute and therefore the function's :term:`docstring`.