module Hasql.Private.Session.MonadThrow where
import Control.Exception
import Control.Monad.IO.Class
import Control.Monad.Catch (MonadThrow (..))
import Hasql.Session
instance MonadThrow Session where
throwM :: forall e a. Exception e => e -> Session a
throwM = IO a -> Session a
forall a. IO a -> Session a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO a -> Session a) -> (e -> IO a) -> e -> Session a
forall b c a. (b -> c) -> (a -> b) -> a -> c
. e -> IO a
forall e a. Exception e => e -> IO a
throwIO