mirror of https://github.com/python/cpython.git
New exception catching syntax.
This commit is contained in:
parent
105f60ee62
commit
0068e2ccb1
|
@ -219,13 +219,13 @@ for a group of statements:
|
||||||
.. productionlist::
|
.. productionlist::
|
||||||
try_stmt: try1_stmt | try2_stmt
|
try_stmt: try1_stmt | try2_stmt
|
||||||
try1_stmt: "try" ":" `suite`
|
try1_stmt: "try" ":" `suite`
|
||||||
: ("except" [`expression` ["," `target`]] ":" `suite`)+
|
: ("except" [`expression` ["as" `target`]] ":" `suite`)+
|
||||||
: ["else" ":" `suite`]
|
: ["else" ":" `suite`]
|
||||||
: ["finally" ":" `suite`]
|
: ["finally" ":" `suite`]
|
||||||
try2_stmt: "try" ":" `suite`
|
try2_stmt: "try" ":" `suite`
|
||||||
: "finally" ":" `suite`
|
: "finally" ":" `suite`
|
||||||
|
|
||||||
The :keyword:`except` clause(s) specify one or more exception handlers. When no
|
The :keyword:`except` clause(s) specify one or more exception handlers. When no
|
||||||
exception occurs in the :keyword:`try` clause, no exception handler is executed.
|
exception occurs in the :keyword:`try` clause, no exception handler is executed.
|
||||||
When an exception occurs in the :keyword:`try` suite, a search for an exception
|
When an exception occurs in the :keyword:`try` suite, a search for an exception
|
||||||
handler is started. This search inspects the except clauses in turn until one
|
handler is started. This search inspects the except clauses in turn until one
|
||||||
|
@ -245,12 +245,12 @@ the new exception in the surrounding code and on the call stack (it is treated
|
||||||
as if the entire :keyword:`try` statement raised the exception).
|
as if the entire :keyword:`try` statement raised the exception).
|
||||||
|
|
||||||
When a matching except clause is found, the exception is assigned to the target
|
When a matching except clause is found, the exception is assigned to the target
|
||||||
specified in that except clause, if present, and the except clause's suite is
|
specified after the ``as`` keyword in that except clause, if present, and the
|
||||||
executed. All except clauses must have an executable block. When the end of
|
except clause's suite is executed. All except clauses must have an executable
|
||||||
this block is reached, execution continues normally after the entire try
|
block. When the end of this block is reached, execution continues normally
|
||||||
statement. (This means that if two nested handlers exist for the same
|
after the entire try statement. (This means that if two nested handlers exist
|
||||||
exception, and the exception occurs in the try clause of the inner handler, the
|
for the same exception, and the exception occurs in the try clause of the inner
|
||||||
outer handler will not handle the exception.)
|
handler, the outer handler will not handle the exception.)
|
||||||
|
|
||||||
.. index::
|
.. index::
|
||||||
module: sys
|
module: sys
|
||||||
|
@ -545,4 +545,3 @@ instance variables with different implementation details.
|
||||||
.. [#] Currently, control "flows off the end" except in the case of an exception or the
|
.. [#] 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`
|
execution of a :keyword:`return`, :keyword:`continue`, or :keyword:`break`
|
||||||
statement.
|
statement.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue