[eeps] EEP 049: Value-Based Error Handling Mechanisms

Anthony Ramine n.oxyde@REDACTED
Fri Dec 7 14:18:06 CET 2018


That's wrong.

> Generated errors are exceptions of classes exit and throw.

http://erlang.org/doc/reference_manual/errors.html

Throws, exits and errors are the three classes of exceptions in the language, and in the documentation of the language.

> Stops the execution of the calling process with an exception of the specified class, reason, and call stack backtrace (stacktrace).

http://erlang.org/doc/man/erlang.html#raise-3


And Dialyzer copes with throws just as bad as it copes with errors and exits.

> Le 7 déc. 2018 à 12:28, Kenneth Lundin <kenneth@REDACTED> a écrit :
> 
> We agree about that it would be nice to be able to replace or simplify deeply-nested case ... end expressions except that we don't see a problem with using throw (a mechanism to make a non local return) as long as it is done in a safe way. We don't regard throw as an exception, and it is documented as "a non local return".




More information about the eeps mailing list