A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://hackage.haskell.org/package/ghc-internal-9.1201.0/docs/src/GHC.Internal.Exception.html below:

{-# LANGUAGE Trustworthy #-}
{-# LANGUAGE NoImplicitPrelude
           , ExistentialQuantification
           , MagicHash
           , PatternSynonyms
  #-}
{-# LANGUAGE ImplicitParams #-}
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ViewPatterns #-}
{-# OPTIONS_HADDOCK not-home #-}




















module GHC.Internal.Exception
    ( 
      Exception(..)

      
    , SomeException(..)
    , displayExceptionWithInfo

      
    , someExceptionContext
    , addExceptionContext

      
    , throw

      
      
    , ArithException(..)
    , divZeroException
    , overflowException
    , ratioZeroDenomException
    , underflowException
      
    , ErrorCall(.., ErrorCallWithLocation)
    , errorCallException
    , errorCallWithCallStackException
    , toExceptionWithBacktrace

      
      
    , CallStack, fromCallSiteList, getCallStack, prettyCallStack
    , prettyCallStackLines
    , SrcLoc(..), prettySrcLoc
    ) where

import GHC.Internal.Base
import GHC.Internal.Show
import GHC.Internal.Stack.Types
import GHC.Internal.IO.Unsafe
import {-# SOURCE #-} GHC.Internal.Stack (prettyCallStackLines, prettyCallStack, prettySrcLoc, withFrozenCallStack)
import {-# SOURCE #-} GHC.Internal.Exception.Backtrace (collectBacktraces)
import GHC.Internal.Exception.Type






throw :: forall (r :: RuntimeRep). forall (a :: TYPE r). forall e.
         (HasCallStack, Exception e) => e -> a
throw :: forall a e. (HasCallStack, Exception e) => e -> a
throw e
e =
    
    
    
    
    let se :: SomeException
        !se :: SomeException
se = SomeException -> SomeException
forall a. a -> a
noinline (IO SomeException -> SomeException
forall a. IO a -> a
unsafePerformIO (e -> IO SomeException
forall e. (HasCallStack, Exception e) => e -> IO SomeException
toExceptionWithBacktrace e
e))
    in SomeException -> a
forall a b. a -> b
raise# SomeException
se










































































toExceptionWithBacktrace :: (HasCallStack, Exception e)
                         => e -> IO SomeException
toExceptionWithBacktrace :: forall e. (HasCallStack, Exception e) => e -> IO SomeException
toExceptionWithBacktrace e
e
  | e -> Bool
forall e. Exception e => e -> Bool
backtraceDesired e
e = do
      bt <- IO Backtraces
HasCallStack => IO Backtraces
collectBacktraces
      return (addExceptionContext bt (toException e))
  | Bool
otherwise = SomeException -> IO SomeException
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (e -> SomeException
forall e. Exception e => e -> SomeException
toException e
e)





data ErrorCall = ErrorCall String
    deriving ( ErrorCall -> ErrorCall -> Bool
(ErrorCall -> ErrorCall -> Bool)
-> (ErrorCall -> ErrorCall -> Bool) -> Eq ErrorCall
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ErrorCall -> ErrorCall -> Bool
== :: ErrorCall -> ErrorCall -> Bool
$c/= :: ErrorCall -> ErrorCall -> Bool
/= :: ErrorCall -> ErrorCall -> Bool
Eq  
             , Eq ErrorCall Eq ErrorCall => (ErrorCall -> ErrorCall -> Ordering) -> (ErrorCall -> ErrorCall -> Bool) -> (ErrorCall -> ErrorCall -> Bool) -> (ErrorCall -> ErrorCall -> Bool) -> (ErrorCall -> ErrorCall -> Bool) -> (ErrorCall -> ErrorCall -> ErrorCall) -> (ErrorCall -> ErrorCall -> ErrorCall) -> Ord ErrorCall ErrorCall -> ErrorCall -> Bool ErrorCall -> ErrorCall -> Ordering ErrorCall -> ErrorCall -> ErrorCall forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a $ccompare :: ErrorCall -> ErrorCall -> Ordering compare :: ErrorCall -> ErrorCall -> Ordering $c< :: ErrorCall -> ErrorCall -> Bool < :: ErrorCall -> ErrorCall -> Bool $c<= :: ErrorCall -> ErrorCall -> Bool <= :: ErrorCall -> ErrorCall -> Bool $c> :: ErrorCall -> ErrorCall -> Bool > :: ErrorCall -> ErrorCall -> Bool $c>= :: ErrorCall -> ErrorCall -> Bool >= :: ErrorCall -> ErrorCall -> Bool $cmax :: ErrorCall -> ErrorCall -> ErrorCall max :: ErrorCall -> ErrorCall -> ErrorCall $cmin :: ErrorCall -> ErrorCall -> ErrorCall min :: ErrorCall -> ErrorCall -> ErrorCall Ord 
             )

{-# DEPRECATED ErrorCallWithLocation "ErrorCallWithLocation has been deprecated in favour of ErrorCall (which does not have a location). Backtraces are now handled by the backtrace exception mechanisms exclusively." #-}
pattern ErrorCallWithLocation :: String -> String -> ErrorCall
pattern $mErrorCallWithLocation :: forall {r}.
ErrorCall -> (String -> String -> r) -> ((# #) -> r) -> r
$bErrorCallWithLocation :: String -> String -> ErrorCall
ErrorCallWithLocation err loc <- ErrorCall ((\String
err -> (String
err, String -> String
forall a. HasCallStack => String -> a
error String
"ErrorCallWithLocation has been deprecated in favour of ErrorCall (which does not have a location). Backtraces are now handled by the backtrace exception mechanisms exclusively.")) -> (err, loc))
  where ErrorCallWithLocation String
err String
_ = String -> ErrorCall
ErrorCall String
err
{-# COMPLETE ErrorCallWithLocation #-}


instance Exception ErrorCall


instance Show ErrorCall where
  showsPrec :: Int -> ErrorCall -> String -> String
showsPrec Int
_ (ErrorCall String
err) = String -> String -> String
showString String
err

errorCallException :: String -> SomeException
errorCallException :: String -> SomeException
errorCallException String
s = ErrorCall -> SomeException
forall e. Exception e => e -> SomeException
toException (String -> ErrorCall
ErrorCall String
s)

errorCallWithCallStackException :: String -> CallStack -> SomeException
errorCallWithCallStackException :: String -> CallStack -> SomeException
errorCallWithCallStackException String
s CallStack
stk = IO SomeException -> SomeException
forall a. IO a -> a
unsafeDupablePerformIO (IO SomeException -> SomeException)
-> IO SomeException -> SomeException
forall a b. (a -> b) -> a -> b
$ do
    (HasCallStack => IO SomeException) -> IO SomeException
forall a. HasCallStack => (HasCallStack => a) -> a
withFrozenCallStack ((HasCallStack => IO SomeException) -> IO SomeException)
-> (HasCallStack => IO SomeException) -> IO SomeException
forall a b. (a -> b) -> a -> b
$ ErrorCall -> IO SomeException
forall e. (HasCallStack, Exception e) => e -> IO SomeException
toExceptionWithBacktrace (String -> ErrorCall
ErrorCall String
s)
  where ?callStack = HasCallStack
CallStack
stk


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4