From e99d1dbc7465d983a2ae99eb0f439ba830f45ff8 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Mon, 17 Apr 2000 14:56:31 +0000 Subject: [PATCH] Clarify the description of the else clause for try/except, and add an explanation of why you'd want to use it. Based on a question from Michael Simcich . --- Doc/tut/tut.tex | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex index daae1699b65..bdb55560332 100644 --- a/Doc/tut/tut.tex +++ b/Doc/tut/tut.tex @@ -2996,9 +2996,9 @@ except: \end{verbatim} The \keyword{try} \ldots\ \keyword{except} statement has an optional -\emph{else clause}, which must follow all except clauses. It is -useful to place code that must be executed if the try clause does not -raise an exception. For example: +\emph{else clause}, which, when present, must follow all except +clauses. It is useful for code that must be executed if the try +clause does not raise an exception. For example: \begin{verbatim} for arg in sys.argv[1:]: @@ -3011,6 +3011,11 @@ for arg in sys.argv[1:]: f.close() \end{verbatim} +The use of the \keyword{else} clause is better than adding additional +code to the \keyword{try} clause because it avoids accidentally +catching an exception that wasn't raised by the code being protected +by the \keyword{try} \ldots\ \keyword{except} statement. + When an exception occurs, it may have an associated value, also known as the exceptions's \emph{argument}.