[erlang-questions] Division by Zero

Richard O'Keefe ok@REDACTED
Thu Nov 15 23:16:27 CET 2012


On 16/11/2012, at 2:42 AM, Lucky Khoza wrote:

> Hi Erlang Developers,
> 
> How do i resolve division by zero errors in Erlang.

Could you please tell us what you actually mean?
For example, I "resolve" division by zero errors in C
by making sure they simply never happen in the first place.
Come to think of it, that's how I "resolve" division by
zero errors in Java, Smalltalk, Lisp, Fortran, AWK,
Python, and Erlang as well.

Some errors are symptoms of bad programming and just plain
_shouldn't_ be caught by handlers in your code lest you
hide mistakes.  Part of Erlang design philosophy is that
it is much better for a process to crash promptly than to
keep on going with imaginary or otherwise incorrect data.

If your question is "given that a division by zero has
NOT been prevented, and has occurred, how do I catch it
and how do I tell that a division by zero is the thing
that happened?"

So have you read chapter 10 of the Erlang reference manual?
http://www.erlang.org/doc/reference_manual/errors.html
This lists the predefined exit reasons in table 10.2 with
their causes.  It says in section 10.3 how to handle such
errors.

But I repeat: it is better to *prevent* errors rather than
catch them, if an error that you *could* have prevented is
caught, you will probably regret it, and you should never
handle an exception unless you really can honestly recover
*fully* and continue sanely.




More information about the erlang-questions mailing list