[slang-users] Re: EXIT_BLOCK not executed on Error

Jörg Sommer joerg at alea.gnuu.de
Mon Sep 8 08:51:00 UTC 2008


Hallo John,

"John E. Davis" <davis at space.mit.edu> wrote:
> On Sat, 6 Sep 2008 20:17:38 +0000 (UTC), Jörg Sommer <joerg at alea.gnuu.de>
> wrote:
>> I expect this code prints ‘foo’ and the error message, but it prints only
>> the error message.
>>
>> % cat /tmp/test.sl
>> define test()
>>{
>> #ifexists push_spot
>>     push_spot();
>>     EXIT_BLOCK
>>    {
>>         pop_spot();
>>    }
>>     () = eob();
>> #else
>>     EXIT_BLOCK
>>    {
>>         message("foo");
>>    }
>> #endif
>>     throw NotImplementedError;
>>}
>> test();
>> % slsh /tmp/test.sl
>> Not Implemented
>> /tmp/test.sl:16:test:Not Implemented
>>
>> I expect
>> % slsh /tmp/test.sl
>> foo
>> Not Implemented
>> /tmp/test.sl:16:test:Not Implemented
>>
>> Is this a bug?
>
> No.  The EXIT_BLOCK will not get executed in the presence of an error.

Said. :( I've used it, because I save a level of indentation.

Bye, Jörg.
-- 
Der Wille und nicht die Gabe macht den Geber.


More information about the slang-users-l mailing list