throwError is:exact

Is used within a monadic computation to begin exception processing.
Is used within a monadic computation to begin exception processing.
Normally, any exceptions raised while executing a method will be given the generic "org.freedesktop.DBus.Error.Failed" name. throwError allows the programmer to specify an error name, and provide additional information to the remote application. You may use this instead of throwIO to abort a method call.
Throw an error of type e with show as a display function.
Throw an error, escaping the current computation up to the nearest catchError (if any).
runThrow (throwError e >>= k) = runThrow (throwError e)
Throw an exception in an effectful computation. The type is inferred.
Throws an error carrying information of type e :: *.
Begin error processing for the error of type option. This is Control.Monad.Except's throwError with the type adjusted for better compatibility with CoHas.