John Meacham john at repetae.net
Fri Apr 7 19:33:48 EDT 2006

On Fri, Apr 07, 2006 at 10:00:21AM -0500, John Goerzen wrote:
> But here's my concern.  Let's say that I wanted to, for some reason,
> create a MultiplyByZero exception.  It should be broadly considered an
> ArithException, and any code that catches an ArithException should be
> able to catch my MultiplyByZero exception.
> But the ArithException type is limited to storing errors that are
> defined by Control.Exception.ArithException.  My MultiplyByZero is not
> defined there, so I am out of luck.  The best I could do is define a new
> MultiplyByZero, and catch it in my own code.  But any code that others
> have written to catch ArithExceptions would be blind to MultiplyByZero.

newtype ArithException a = ArithException a

data DivideByZero

throw (ArithException DivideByZero)

your code:

data MultiplyByZero
throw (ArithException MultiplyByZero)


John Meacham - ⑆repetae.net⑆john⑈

More information about the Haskell-prime mailing list