[erlang-questions] A problem with smart_exceptions
Thomas Lindgren
thomasl_erlang@REDACTED
Fri Jun 15 11:01:24 CEST 2007
Hi, and thanks for your comments.
The support for try ... end in smart_exceptions is a
bit rudimentary. The reason for this is that I
normally don't use 'try', and haven't taken the time
to figure out how all the cases should be handled.
Perhaps this should be fixed?
Best,
Thomas
--- YAMASHINA Hio <hio@REDACTED> wrote:
>
> Hi.
>
> By default, smart_exceptions uses catch expression
> for compable with R9. It discard information whether
> expression is throw-ed or not.
>
> To make it use try expression, uncomment `r10'
> definition
> at start of smart_comment.erl:
>
> %% define r10 means 'try' is used in the generated
> code rather
> %% than 'catch'. Note that try is _handled_ by
> default.
> %% -define(r10, true).
>
> But described also:
> %% - R10B compatibility is weak, not very tested
>
>
> On Fri, 15 Jun 2007 15:01:12 +0900
> "Mikage Sawatari" <mikage@REDACTED> wrote:
>
> > 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/
> > _______________________________________________
> > erlang-questions mailing list
> > erlang-questions@REDACTED
> >
>
http://www.erlang.org/mailman/listinfo/erlang-questions
>
>
> --
> YAMASHINA Hio <hio@REDACTED>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
>
http://www.erlang.org/mailman/listinfo/erlang-questions
>
____________________________________________________________________________________
Looking for a deal? Find great prices on flights and hotels with Yahoo! FareChase.
http://farechase.yahoo.com/
More information about the erlang-questions
mailing list