Re: [python] using try: finally: except

From: Tim Peters (tim.peters_at_gmail.com)
Date: 06/25/04


Date: Fri, 25 Jun 2004 14:08:19 -0400
To: python-list@python.org


[Tim Peters]
>> It's more that Guido deliberately separated them. Before Python
>> 0.9.6, you could attach both 'except' and 'finally' clauses to the
>> same 'try' structure (see Misc/HISTORY in a Python source
>> distribution). I don't remember the semantics, and that was indeed
>> the problem: nobody could remember, and half the time guessed wrong.

[Peter Hansen]
> I'm curious: was it that the order of execution was fixed, regardless
> of the order of the 'finally' and 'except' in the source, or was
> it still confusing even though the order of execution changed
> logically with the order of the statements in the source?

If present, a 'finally' clause had to be the last clause in a
try/except/finally structure. That was enforced by the syntax. The
most common confusion was over whether the code in the 'finally'
clause would execute if an exception was raised during execution of an
'except' clause. That code isn't in the 'try' block, so why should
'finally' apply to it? For that matter, why shouldn't it? That's why
nobody could remember (and I in fact don't remember what happened
then).



Relevant Pages

  • Re: Evaluating Exceptions, Try Except and Try Finally
    ... error occurs during execution. ... statementList2 (the finally clause) is executed. ... exception is raised during execution of statementList1, ... THE IF THEN ELSE STATEMENT DOCUMENTATION IS JUST AS FUCKED:)' ...
    (alt.comp.lang.borland-delphi)
  • Re: Sorting Problem
    ... "nomi" wrote in message ... Only by running SELECT clause and specify ORDER BY clause you can ... >>> I presume that it has something to do with collations, ... >>> Here is the output of the query after different execution of the sp. ...
    (microsoft.public.sqlserver.programming)
  • Re: SET NOLOGGING in JDBC url?
    ... It's right it does not have a where clause, the query *should* run ... execution at a time ... isolation level could be the key in this case. ...
    (comp.databases.ingres)
  • Re: Order of execution in logical expressions
    ... It tells the optimizer that only one value will return. ... GlacierI'm a little confused about order of execution in logical ... error, even though that clause would never be executed, because all PK_IDs ... This question arose because of a sub-query in an UPDATE TRIGGER: ...
    (microsoft.public.sqlserver.tools)
  • Get actual call signature?
    ... in execution. ... Jarek Zgoda ... "We read Knuth so you don't have to." ... (Tim Peters) ...
    (comp.lang.python)