import Control.Exception import Control.Exception.Annotation import System.IO.Error data Ann = Ann deriving (Show) instance ExceptionAnnotation Ann main :: IO () main = do catch (annotateIO Ann $ do throwIO (userError "kaas")) (\(e :: SomeException) -> putStrLn ("<<" ++ displayException e ++ ">>"))