-
Petr Pudlak authored
There is often need to manipulate these errors, for example to convert a String from Result into an exception. These functions make this easier. Function 'toErrorStr' lifts 'Result' to any 'MonadError'. This is useful for converting 'Result' into 'ResultT' or any other similar monad stack. Functions 'catchErrorT' and 'handleErrorT' catch errors just as 'catchError' does, but also allow to change the error type. Functions `withError` and `withErrorT` allow to modify an error within GenericResult or ResultT. This is convenient when combining functions with different error types, for example to convert between strings and exceptions. Furthemore, 'failError' generalize 'Bad'. It can be used anywhere 'Bad' is, and in any 'MonadError' instance. Signed-off-by: Petr Pudlak <pudlak@google.com> Reviewed-by: Klaus Aehlig <aehlig@google.com> Cherry-pick of 565821d1 Signed-off-by: Klaus Aehlig <aehlig@google.com> Reviewed-by: Petr Pudlak <pudlak@google.com>
27a5367a