-- | Exceptions arising within numhask.
module NumHask.Exception
  ( NumHaskException (..),
    throw,
  )
where

import Control.Exception
import Data.Typeable (Typeable)
import Prelude qualified as P

-- | A numhask exception.
newtype NumHaskException = NumHaskException {NumHaskException -> String
errorMessage :: P.String}
  deriving (Int -> NumHaskException -> ShowS
[NumHaskException] -> ShowS
NumHaskException -> String
(Int -> NumHaskException -> ShowS)
-> (NumHaskException -> String)
-> ([NumHaskException] -> ShowS)
-> Show NumHaskException
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NumHaskException -> ShowS
showsPrec :: Int -> NumHaskException -> ShowS
$cshow :: NumHaskException -> String
show :: NumHaskException -> String
$cshowList :: [NumHaskException] -> ShowS
showList :: [NumHaskException] -> ShowS
P.Show, Typeable)

instance Exception NumHaskException