Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
- data Panic a = Panic {
- panicComponent :: a
- panicLoc :: String
- panicMsg :: [String]
- panicStack :: CallStack
- class Typeable a => PanicComponent a where
- useGitRevision :: Q Exp
- type HasCallStack = ?callStack :: CallStack
- panic :: (PanicComponent a, HasCallStack) => a -> String -> [String] -> b
Documentation
The exception thrown when panicing.
Panic | |
|
PanicComponent a => Show (Panic a) Source # | |
PanicComponent a => Exception (Panic a) Source # | |
class Typeable a => PanicComponent a where Source #
Description of a component.
panicComponentName :: a -> String Source #
Name of the panicing component.
panicComponentIssues :: a -> String Source #
Issue tracker for the panicking component.
panicComponentRevision :: a -> (String, String) Source #
Information about the component's revision. (commit hash, branch info)
useGitRevision :: Q Exp Source #
An expression of type a -> (String,String)
.
Uses template Haskell to query Git for the current state of the repo.
Note that the state reported depends on when the module containing
the splice was compiled.
type HasCallStack = ?callStack :: CallStack #
Request a CallStack.
NOTE: The implicit parameter ?callStack :: CallStack
is an
implementation detail and should not be considered part of the
CallStack
API, we may decide to change the implementation in the
future.
Since: 4.9.0.0
:: (PanicComponent a, HasCallStack) | |
=> a | Component identification |
-> String | Location of problem |
-> [String] | Problem description (lines) |
-> b |
Throw an exception for the given component.