Generalize the type of catchIO, use it in Main.hs

This commit is contained in:
Spencer Janssen 2008-01-28 05:46:51 +00:00
parent 10be8aaae0
commit f80d593d57
2 changed files with 2 additions and 3 deletions

View File

@ -16,7 +16,6 @@ module Main (main) where
import XMonad
import Control.Exception (handle)
import System.IO
import System.Info
import System.Environment
@ -31,7 +30,7 @@ import qualified Properties
main :: IO ()
main = do
args <- getArgs
let launch = handle (hPrint stderr) buildLaunch >> xmonad defaultConfig
let launch = catchIO buildLaunch >> xmonad defaultConfig
case args of
[] -> launch
["--resume", _] -> launch

View File

@ -291,7 +291,7 @@ io = liftIO
-- | Lift an IO action into the X monad. If the action results in an IO
-- exception, log the exception to stderr and continue normal execution.
catchIO :: IO () -> X ()
catchIO :: MonadIO m => IO () -> m ()
catchIO f = io (f `catch` \e -> hPrint stderr e >> hFlush stderr)
-- | spawn. Launch an external application