Control.Exception.Safe

# Throwing

throw

throwIO

throwM

throwTo

impureThrow

# Catching (with recovery)

catch

catchIO

catchAny

catchDeep

catchAnyDeep

catchAsync

catchJust

handle

handleIO

handleAny

handleDeep

handleAnyDeep

handleAsync

handleJust

try

tryIO

tryAny

tryDeep

tryAnyDeep

tryAsync

tryJust

data Handler m a

catches

catchesDeep

catchesAsync

# Cleanup (no recovery)

onException

bracket

bracket_

finally

withException

bracketOnError

bracketOnError_

# Coercion to sync and async

data SyncExceptionWrapper

toSyncException

data AsyncExceptionWrapper

toAsyncException

# Check exception type

isSyncException

isAsyncException

# Reexports

class MonadThrow m

class MonadCatch m

class MonadMask m

mask_

uninterruptibleMask_

catchIOError

handleIOError

class Exception e

class Typeable k a

data SomeException

data SomeAsyncException

data IOException