Description
Catches errors thrown from pure Haskell computations. This can be useful when evaluating code that may throw exceptions despite being presented as a pure value.
It is useful for tests, diagnostics, sandbox-like evaluation, and tools that need to recover from unexpected pure exceptions. It should not replace designing APIs with explicit error values where possible.