Skip to content

Instantly share code, notes, and snippets.

@sseveran
Created August 22, 2012 22:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sseveran/3430017 to your computer and use it in GitHub Desktop.
Save sseveran/3430017 to your computer and use it in GitHub Desktop.
Exception Scoping 1
{-# LANGUAGE ScopedTypeVariables #-}
import Control.Exception
import Prelude hiding (catch)
iThrowExceptions :: Int
iThrowExceptions = error "I am a slippery exception"
data Record = Record Int deriving (Show)
main :: IO ()
main = do
val <- (return $ Just $ Record iThrowExceptions)
`catch`
(\ e -> print (e :: SomeException) >> return Nothing)
print "The exception handler is now unwound off the stack."
print val
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment