[Python-Dev] 2.4 & 2.5 beta 3 crash

Georg Brandl g.brandl at gmx.net
Wed Aug 16 19:15:54 CEST 2006


Josiah Carlson wrote:
> Dino Viehland <dinov at exchange.microsoft.com> wrote:
>> 
>> We've been working on fixing some exception handling bugs in
>> IronPython where we differ from CPython.  Along the way we ran into
>> this issue which causes CPython to crash when the code below is run.
>> It crashes on both 2.4 and 2.5 beta 3.  The code's technically illegal,
>> but it probably shouldn't crash either :)
> 
>> def test():
>>     for abc in range(10):
>>         try: pass
>>         finally:
>>             try:
>>                 continue
>>             except:
>>                 pass
>> 
>> 
>> test()
> 
> It also reliably crashes 2.3, though I don't see anything in there as
> being illegal, but maybe I don't understand the langauge as well as I
> think I do.

"continue" is not supported inside a finally clause. If you put the
continue directly there or into the except clause, the compiler will
tell you.

It looks like nobody thought about that corner case when writing the
compiler check for continue.

Georg



More information about the Python-Dev mailing list