On Sat, 2009-03-28 at 12:51 +0300, Gregory Petrosyan wrote:
> On Sat, Mar 28, 2009 at 10:53 AM, Ketil Malde <[email protected]> wrote:
> > So the difference between an exception or an error type is mainly what
> > you intend to do about it.  There's no point in wrapping divisions in
> > Maybe unless you actually are able to do something useful to recover
> > from a zero denominator.
> 
> That is exactly the point I was trying to make.
> 
> When I write a code, I can't say in advance, in what way it will be used.
> So, for dealing with errors, I have to choose one way or another, mostly
> without that knowledge. When I'm using e.g. C++, it's easy:
> something like mantra "when in doubt, throw an exception" :-)
> combined with RAII, works good (but not ideal, of course).
> 
> So, I'll ask again: when I program in Haskell, what mechanism should I use?

If you don't know, use a (true) exception.  That is, Left or Exception
or throwIO.

Only use error or throw when you *know* the condition is un-recoverable.

jcc


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to