From: Ian Lynagh Date: Wed, 30 Jul 2008 17:20:14 +0000 (+0000) Subject: Add onException X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=e7a5a94532447b071406f8e7ee6f6ae626d2d754;p=ghc-base.git Add onException --- diff --git a/Control/Exception.hs b/Control/Exception.hs index cd71313..d3a88e8 100644 --- a/Control/Exception.hs +++ b/Control/Exception.hs @@ -76,6 +76,7 @@ module Control.Exception ( try, -- :: IO a -> IO (Either Exception a) tryJust, -- :: (Exception -> Maybe b) -> a -> IO (Either b a) ignoreExceptions, + onException, -- ** The @evaluate@ function evaluate, -- :: a -> IO a @@ -348,6 +349,10 @@ tryJust p a = do ignoreExceptions :: IO () -> IO () ignoreExceptions io = io `catchAny` \_ -> return () +onException :: IO a -> IO () -> IO a +onException io what = io `catch` \e -> do what + throw (e :: SomeException) + ----------------------------------------------------------------------------- -- Some Useful Functions