catch package:pipes-safe

Provide a handler for exceptions thrown during execution of the first action. Note that type of the type of the argument to the handler will constrain which exceptions are caught. See Control.Exception's catch.
Catches all exceptions, and somewhat defeats the purpose of the extensible exception system. Use sparingly. NOTE This catches all exceptions, but if the monad supports other ways of aborting the computation, those other kinds of errors will not be caught.
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.
Catch exceptions only if they pass some predicate. Often useful with the predicates for testing IOError values in System.IO.Error.
A more generalized way of determining which exceptions to catch at run time.
Allows direct handling of exceptions raised by the effects in a Proxy.
Catches different sorts of exceptions. See Control.Exception's catches
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.