[slang-users] Bug in try-finally

Jörg Sommer joerg at alea.gnuu.de
Wed Jun 7 11:37:34 EDT 2006


Hi,

can someone explain this behaviour?

#v+
define g_message()
{
    try {
        message("before return");
        return "boogie message";
    } finally {
        message("finally");
    }

    message("before return dflt");
    return "default message";
}

define msg(arg) { message(arg); }
define g_msg()
{
    try {
        msg("before return");
        return "boogie msg";
    } finally {
        msg("finally");
    }

    msg("before return dflt");
    return "default message";
}

message( g_message("xxx") );
message("--------------");
message( g_msg("xxx") );
#v-

#v+
% slsh /tmp/test.sl
before return
finally
boogie message
--------------
before return
finally
before return dflt
default message
% slsh --version
slsh version 0.7.5-0
S-Lang Library Version: 2.0.6
#v-

Why g_msg() continues after the finally?

Bye, Jörg.
-- 
Gott hat den Menschen erschaffen, weil er vom Affen enttäuscht war.
Danach hat er auf weitere Experimente verzichtet.
                                                          (Mark Twain)




More information about the slang-users-l mailing list