[Haskell] Re: Exceptions

Ben Rudiak-Gould Benjamin.Rudiak-Gould at cl.cam.ac.uk
Tue Nov 23 16:17:41 EST 2004


John Goerzen wrote:

 >main = do
 >     xs <- return [ 1, 2, error "throw" ]
 >         `catch` \ any -> do
 >             putStrLn "caught"
 >             return [ 4, 5, 6 ]
 >     print xs
 >
 >When run, I get: Fail: throw
 >
 >In any case, in the more general case, I don't see a problem with that.
 >I get an exception when I try to use something.  That's fine.  In an
 >imperative program that solves the same problem the same way, you'd see
 >the exception at the same point.

No, in a traditional (strict) programming language the program would print

    caught
    [4,5,6]

The exception "throw" would not appear in the output.

-- Ben



More information about the Haskell mailing list