catch package:unliftio

Catch a synchronous (but not asynchronous) exception and recover from it. This is parameterized on the exception type. To catch all synchronous exceptions, use catchAny.
catch specialized to catch all synchronous exceptions.
catchDeep specialized to catch all synchronous exception.
Same as catch, but fully force evaluation of the result value to find all impure exceptions.
catch specialized to only catching IOExceptions.
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.
A variant of catch that catches both synchronous and asynchronous exceptions. WARNING: This function (and other *SyncOrAsync functions) is for advanced users. Most of the time, you probably want to use the non-SyncOrAsync versions. Before attempting to use this function, be familiar with the "Rules for async safe handling" section in this blog post.
Similar to catch, but provides multiple different handler functions. For more information on motivation, see base's catches. Note that, unlike that function, this function will not catch asynchronous exceptions.
Same as catches, but fully force evaluation of the result value to find all impure exceptions.
Lifted waitAnyCatch.
A version of waitAnyCatch that can be used inside an STM transaction.
Lifted waitCatch.
A version of waitCatch that can be used inside an STM transaction.
A version of waitEitherCatch that can be used inside an STM transaction.