John Meacham writes: > 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)
How would you use this to write a handler that captures any ArithException? -- David Menendez <[EMAIL PROTECTED]> | "In this house, we obey the laws <http://www.eyrie.org/~zednenem> | of thermodynamics!" _______________________________________________ Haskell-prime mailing list Haskell-prime@haskell.org http://haskell.org/mailman/listinfo/haskell-prime