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}