ghc-internal-9.1001.0: Basic libraries
Copyright(c) The University of Glasgow 1998-2002
Licensesee libraries/base/LICENSE
Maintainercvs-ghc@haskell.org
Stabilityinternal
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

GHC.Internal.Exception.Context

Description

Exception context type.

Synopsis

Exception context

data ExceptionContext Source #

Exception context represents a list of ExceptionAnnotations. These are attached to SomeExceptions via addExceptionContext and can be used to capture various ad-hoc metadata about the exception including backtraces and application-specific context.

ExceptionContexts can be merged via concatenation using the Semigroup instance or mergeExceptionContext.

Note that GHC will automatically solve implicit constraints of type ExceptionContext with emptyExceptionContext.

emptyExceptionContext :: ExceptionContext Source #

An ExceptionContext containing no annotations.

@since base-4.20.0.0

getExceptionAnnotations :: ExceptionAnnotation a => ExceptionContext -> [a] Source #

Retrieve all ExceptionAnnotations of the given type from an ExceptionContext.

@since base-4.20.0.0

mergeExceptionContext :: ExceptionContext -> ExceptionContext -> ExceptionContext Source #

Merge two ExceptionContexts via concatenation

@since base-4.20.0.0

displayExceptionContext :: ExceptionContext -> String Source #

Render ExceptionContext to a human-readable String.

@since base-4.20.0.0

Exception annotations

class Typeable a => ExceptionAnnotation a where Source #

ExceptionAnnotations are types which can decorate exceptions as ExceptionContext.

@since base-4.20.0.0

Minimal complete definition

Nothing

Methods

displayExceptionAnnotation :: a -> String Source #

Render the annotation for display to the user.