{-# LANGUAGE Safe #-}
module Control.Exception.Base
    (
     SomeException(..),
     Exception(..),
     IOException,
     ArithException(..),
     ArrayException(..),
     AssertionFailed(..),
     SomeAsyncException(..),
     AsyncException(..),
     asyncExceptionToException,
     asyncExceptionFromException,
     NonTermination(..),
     NestedAtomically(..),
     BlockedIndefinitelyOnMVar(..),
     FixIOException(..),
     BlockedIndefinitelyOnSTM(..),
     AllocationLimitExceeded(..),
     CompactionFailed(..),
     Deadlock(..),
     NoMethodError(..),
     PatternMatchFail(..),
     RecConError(..),
     RecSelError(..),
     RecUpdError(..),
     ErrorCall(..),
     TypeError(..),
     NoMatchingContinuationPrompt(..),
     
     throwIO,
     throw,
     ioError,
     throwTo,
     
     
     catch,
     catchJust,
     
     handle,
     handleJust,
     
     try,
     tryJust,
     onException,
     
     evaluate,
     
     mapException,
     
     
     mask,
     mask_,
     uninterruptibleMask,
     uninterruptibleMask_,
     MaskingState(..),
     getMaskingState,
     
     assert,
     
     bracket,
     bracket_,
     bracketOnError,
     finally,
     
     recSelError,
     recConError,
     impossibleError,
     impossibleConstraintError,
     nonExhaustiveGuardsError,
     patError,
     noMethodBindingError,
     typeError,
     nonTermination,
     nestedAtomically,
     noMatchingContinuationPrompt
     ) where
import GHC.Internal.Control.Exception.Base