Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Source errors
Synopsis
- newtype SourceError = SourceError ErrorMessages
- mkSrcErr :: ErrorMessages -> SourceError
- srcErrorMessages :: SourceError -> ErrorMessages
- throwErrors :: MonadIO io => ErrorMessages -> io a
- throwOneError :: MonadIO io => MsgEnvelope DecoratedSDoc -> io a
- handleSourceError :: MonadCatch m => (SourceError -> m a) -> m a -> m a
Documentation
newtype SourceError Source #
A source error is an error that is caused by one or more errors in the
source code. A SourceError
is thrown by many functions in the
compilation pipeline. Inside GHC these errors are merely printed via
log_action
, but API clients may treat them differently, for example,
insert them into a list box. If you want the default behaviour, use the
idiom:
handleSourceError printExceptionAndWarnings $ do ... api calls that may fail ...
The SourceError
s error messages can be accessed via srcErrorMessages
.
This list may be empty if the compiler failed due to -Werror
(Opt_WarnIsError
).
See printExceptionAndWarnings
for more information on what to take care
of when writing a custom error handler.
Instances
Exception SourceError # | |
Defined in GHC.Types.SourceError | |
Show SourceError # | |
Defined in GHC.Types.SourceError |
mkSrcErr :: ErrorMessages -> SourceError Source #
throwErrors :: MonadIO io => ErrorMessages -> io a Source #
throwOneError :: MonadIO io => MsgEnvelope DecoratedSDoc -> io a Source #
:: MonadCatch m | |
=> (SourceError -> m a) | exception handler |
-> m a | action to perform |
-> m a |
Perform the given action and call the exception handler if the action
throws a SourceError
. See SourceError
for more information.