MonadCatchIO-mtl-0.1.0.1: Monad-transformer version of the Control.Exception module

Control.Monad.CatchIO.Old

Synopsis

Documentation

class MonadIO m => MonadCatchIO m whereSource

Methods

catch :: m a -> (Exception -> m a) -> m aSource

Generalized version of catch

block :: m a -> m aSource

Generalized version of block

unblock :: m a -> m aSource

Generalized version of unblock

data Exception

The type of exceptions. Every kind of system-generated exception has a constructor in the Exception type, and values of other types may be injected into Exception by coercing them to Dynamic (see the section on Dynamic Exceptions: Control.OldException).

Constructors

ArithException ArithException

Exceptions raised by arithmetic operations. (NOTE: GHC currently does not throw ArithExceptions except for DivideByZero).

ArrayException ArrayException

Exceptions raised by array-related operations. (NOTE: GHC currently does not throw ArrayExceptions).

AssertionFailed String

This exception is thrown by the assert operation when the condition fails. The String argument contains the location of the assertion in the source program.

AsyncException AsyncException

Asynchronous exceptions (see section on Asynchronous Exceptions: Control.OldException).

BlockedOnDeadMVar

The current thread was executing a call to Control.Concurrent.MVar.takeMVar that could never return, because there are no other references to this MVar.

BlockedIndefinitely

The current thread was waiting to retry an atomic memory transaction that could never become possible to complete because there are no other threads referring to any of the TVars involved.

NestedAtomically

The runtime detected an attempt to nest one STM transaction inside another one, presumably due to the use of unsafePeformIO with atomically.

Deadlock

There are no runnable threads, so the program is deadlocked. The Deadlock exception is raised in the main thread only (see also: Control.Concurrent).

DynException Dynamic

Dynamically typed exceptions (see section on Dynamic Exceptions: Control.OldException).

ErrorCall String

The ErrorCall exception is thrown by error. The String argument of ErrorCall is the string passed to error when it was called.

ExitException ExitCode

The ExitException exception is thrown by System.Exit.exitWith (and System.Exit.exitFailure). The ExitCode argument is the value passed to System.Exit.exitWith. An unhandled ExitException exception in the main thread will cause the program to be terminated with the given exit code.

IOException IOException

These are the standard IO exceptions generated by Haskell's IO operations. See also System.IO.Error.

NoMethodError String

An attempt was made to invoke a class method which has no definition in this instance, and there was no default definition given in the class declaration. GHC issues a warning when you compile an instance which has missing methods.

NonTermination

The current thread is stuck in an infinite loop. This exception may or may not be thrown when the program is non-terminating.

PatternMatchFail String

A pattern matching failure. The String argument should contain a descriptive message including the function name, source file and line number.

RecConError String

An attempt was made to evaluate a field of a record for which no value was given at construction time. The String argument gives the location of the record construction in the source program.

RecSelError String

A field selection was attempted on a constructor that doesn't have the requested field. This can happen with multi-constructor records when one or more fields are missing from some of the constructors. The String argument gives the location of the record selection in the source program.

RecUpdError String

An attempt was made to update a field in a record, where the record doesn't have the requested field. This can only occur with multi-constructor records, when one or more fields are missing from some of the constructors. The String argument gives the location of the record update in the source program.

throw :: MonadCatchIO m => Exception -> m aSource

Generalized version of throwIO

throwDyn :: Typeable e => e -> bSource

catchDyn :: (Typeable e, MonadCatchIO m) => m a -> (e -> m a) -> m aSource

try :: MonadCatchIO m => m a -> m (Either Exception a)Source

Generalized version of try

tryJust :: MonadCatchIO m => (Exception -> Maybe b) -> m a -> m (Either b a)Source

Generalized version of tryJust