module Ribosome.Control.Exception where import Control.Exception.Lifted (IOException, catch, try) tryIO :: MonadBaseControl IO m => m a -> m (Either IOException a) tryIO :: m a -> m (Either IOException a) tryIO = m a -> m (Either IOException a) forall (m :: * -> *) e a. (MonadBaseControl IO m, Exception e) => m a -> m (Either e a) try tryAny :: MonadBaseControl IO m => m a -> m (Either SomeException a) tryAny :: m a -> m (Either SomeException a) tryAny = m a -> m (Either SomeException a) forall (m :: * -> *) e a. (MonadBaseControl IO m, Exception e) => m a -> m (Either e a) try catchAny :: MonadBaseControl IO m => (SomeException -> m a) -> m a -> m a catchAny :: (SomeException -> m a) -> m a -> m a catchAny = (m a -> (SomeException -> m a) -> m a) -> (SomeException -> m a) -> m a -> m a forall a b c. (a -> b -> c) -> b -> a -> c flip m a -> (SomeException -> m a) -> m a forall (m :: * -> *) e a. (MonadBaseControl IO m, Exception e) => m a -> (e -> m a) -> m a catch catchAnyAs :: MonadBaseControl IO m => a -> m a -> m a catchAnyAs :: a -> m a -> m a catchAnyAs = (SomeException -> m a) -> m a -> m a forall (m :: * -> *) a. MonadBaseControl IO m => (SomeException -> m a) -> m a -> m a catchAny ((SomeException -> m a) -> m a -> m a) -> (a -> SomeException -> m a) -> a -> m a -> m a forall b c a. (b -> c) -> (a -> b) -> a -> c . m a -> SomeException -> m a forall a b. a -> b -> a const (m a -> SomeException -> m a) -> (a -> m a) -> a -> SomeException -> m a forall b c a. (b -> c) -> (a -> b) -> a -> c . a -> m a forall (m :: * -> *) a. Monad m => a -> m a return