Skip to content
Snippets Groups Projects
Commit de972178 authored by sven.panne@aedion.de's avatar sven.panne@aedion.de
Browse files

[project @ 2000-07-09 16:00:55 by panne]

By definition (sec. 7.3 in the H98 report), userError raises an
IOError, so Prelude.catch should catch UserError exceptions, too.
Apart from not conforming to the report, without this patch GHC's
typechecker falls straight on its face.
parent 1682eab7
No related merge requests found
% ------------------------------------------------------------------------------
% $Id: PrelException.lhs,v 1.22 2000/07/07 11:03:58 simonmar Exp $
% $Id: PrelException.lhs,v 1.23 2000/07/09 16:00:55 panne Exp $
%
% (c) The University of Glasgow, 1998-2000
%
......@@ -53,6 +53,7 @@ catchException (IO m) k = IO $ \s -> catch# m (\ex -> unIO (k ex)) s
catch :: IO a -> (Exception -> IO a) -> IO a
catch m k = catchException m handler
where handler err@(IOException _) = k err
handler err@(UserError _) = k err
handler other = throw other
\end{code}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment