Commit de972178 authored by panne's avatar panne
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
% ------------------------------------------------------------------------------
% $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}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment