catch package:safe-exceptions

Same as upstream catch, but will not catch asynchronous exceptions
catch specialized to catch all synchronous exception
catchDeep specialized to catch all synchronous exception
catch without async exception safety Generally it's better to avoid using this function since we do not want to recover from async exceptions, see https://github.com/fpco/safe-exceptions#quickstart
Same as catch, but fully force evaluation of the result value to find all impure exceptions.
catch specialized to only catching IOExceptions
Catch all IOError (eqv. IOException) exceptions. Still somewhat too general, but better than using catchAll. See catchIf for an easy way of catching specific IOErrors based on the predicates in System.IO.Error.
catchJust is like catch but it takes an extra argument which is an exception predicate, a function which selects which type of exceptions we're interested in.
Same as upstream catches, but will not catch asynchronous exceptions
catches without async exception safety Generally it's better to avoid using this function since we do not want to recover from async exceptions, see https://github.com/fpco/safe-exceptions#quickstart
Same as catches, but fully force evaluation of the result value to find all impure exceptions.
A class for monads which allow exceptions to be caught, in particular exceptions which were thrown by throwM. Instances should obey the following law:
catch (throwM e) f = f e
Note that the ability to catch an exception does not guarantee that we can deal with all possible exit points from a computation. Some monads, such as continuation-based stacks, allow for more than just a success/failure strategy, and therefore catch cannot be used by those monads to properly implement a function such as finally. For more information, see MonadMask.