Err package:rebase

This is thrown when the user calls error. The first String is the argument given to error, second String is the location.
error stops execution and displays an error message.
A variant of error that does not produce a stack trace.
The Haskell 2010 type for exceptions in the IO monad. Any I/O operation may raise an IOException instead of returning a result. For a more general type of exception, including also those that arise in pure code, see Exception. In Haskell 2010, this is an opaque type.
An abstract type that contains a value for each variant of IOException.
the state during mask: asynchronous exceptions are masked, but blocking operations may still be interrupted
the state during uninterruptibleMask: asynchronous exceptions are masked, and blocking operations may not be interrupted
The strategy of combining computations that can throw exceptions by bypassing bound functions from the point an exception is thrown to the point that it is handled. Is parameterized over the type of error information and the monad type constructor. It is common to use Either String as the monad type constructor for an error monad in which error descriptions take the form of strings. In that case and many other common cases the resulting monad is already defined as an instance of the MonadError class. You can also define your own error type and/or use a monad type constructor other than Either String or Either IOError. In these cases you will have to explicitly define instances of the MonadError class. (If you are using the deprecated Control.Monad.Error or Control.Monad.Trans.Error, you may also have to define an Error instance.)
A class method without a definition (neither a default definition, nor a definition in the appropriate instance) was called. The String gives information about which method it was.
An uninitialised record field was used. The String gives information about the source location where the record was constructed.
A record selector was applied to a constructor without the appropriate field. This can only happen with a datatype with multiple constructors, where some fields are in one constructor but not another. The String gives information about the source location of the record selector.