[erlang-questions] A problem with smart_exceptions

Mikage Sawatari <>
Fri Jun 15 08:01:12 CEST 2007


Hello,

I encountered a problem when I used smart_exceptions in the
jungerl on Erlang R11B-5. Is there any work around for this?



A way to reproduce:

1. Install the smart_exception at:
   http://jungerl.cvs.sourceforge.net/jungerl/jungerl/lib/smart_exceptions/

2. Compile the following code:

---- exception.erl ----

-module(exception).
-export([test/0]).

test() ->
        try
                test2()
        catch
                Ex -> io:format("Catch ~p~n", [Ex])
        end.

test2() ->
        throw(exception),
        io:format("throwed exception~n").

---- exception.erl ----



Phenomenon:

The result differs depending on whether we use smart_exception or not.

$ erlc +'{parse_transform, smart_exceptions}' exception.erl && erl
-noshell -s exception test -s init stop
throwed exception

$ erlc exception.erl && erl -noshell -s exception test -s init stop
Catch exception

It seems when the smart_exception is in effect, "throw" statement
isn't executed and the computation falls through the next line.


-- 
-----------------------------------------------------------------------
SAWATARI Mikage (SANO Taku)
http://www.mikage.to/



More information about the erlang-questions mailing list