GHC/Err.lhs (original) (raw)
\begin{code}
module GHC.Err
(
absentErr
, divZeroError
, ratioZeroDenominatorError
, overflowError
, error
, undefined
) where
import GHC.Types import GHC.Exception
\end{code} %********************************************************* %* * \subsection{Error-ish functions} %* * %********************************************************* \begin{code}
error :: [Char] -> a error s = throw (ErrorCall s)
undefined :: a undefined = error "Prelude.undefined"
\end{code} %********************************************************* %* * \subsection{Compiler generated errors + local utils} %* * %********************************************************* Used for compiler-generated error message; encoding saves bytes of string junk. \begin{code}
absentErr :: a
absentErr = error "Oops! The program has entered an `absent' argument!\n"
\end{code} Divide by zero and arithmetic overflow. We put them here because they are needed relatively early in the libraries before the Exception type has been defined yet. \begin{code}
divZeroError :: a divZeroError = throw DivideByZero
ratioZeroDenominatorError :: a ratioZeroDenominatorError = throw RatioZeroDenominator
overflowError :: a overflowError = throw Overflow
\end{code}