Commit 0068e2cc authored by Georg Brandl's avatar Georg Brandl

New exception catching syntax.

parent 105f60ee
...@@ -219,7 +219,7 @@ for a group of statements: ...@@ -219,7 +219,7 @@ 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`
...@@ -245,12 +245,12 @@ the new exception in the surrounding code and on the call stack (it is treated ...@@ -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. ...@@ -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.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment