[Haskell-cafe] Re: Exception handling in numeric computations

Donn Cave donn at avvanta.com
Fri Mar 27 14:44:52 EDT 2009

Quoth Jonathan Cast <jonathanccast at fastmail.fm>,

> An `error' is any condition where the correct response is for the
> programmer to change the source code :)

That's a broad category, that overlaps with conditions where there
are one or more correct responses for the original program as well.

If I throw exceptions within the type system, using IO or whatever,
and at some later time observe that I have caught one that would
have been better handled closer to its source, for example.  I've
already technically satisfied my requirement, since everything is
in an exception monad, but the exception is still a bug.

Or if I catch an non-IO error using Control.Exception.catch (if I
were using ghc), and take advantage of the opportunity to release
locks, post various notices, etc. - I evidently have a bug, but I
also may need to have a programmed response for it.


More information about the Haskell-Cafe mailing list