[python] using try: finally: except
Antoon Pardon
apardon at forel.vub.ac.be
Mon Jun 28 08:59:30 EDT 2004
Op 2004-06-25, Tim Peters schreef <tim.peters at gmail.com>:
> [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?
Well personnaly I wouldn't find it that hard to aswer this.
The finally clause is to finalise code in the try block.
That an exception occured in an except clause doesn't change
that.
--
Antoon Pardon
More information about the Python-list
mailing list