bluefin-0.7.0.1: The Bluefin effect system
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bluefin.Exception

Description

This is an old interface and will be deprecated in the future. You are encouraged to use Bluefin.Capability.Throw instead.

Synopsis

Handle

data Exception exn (e :: Effects) #

Instances

Instances details
e <: es => OneWayCoercible (Exception ex e :: Type) (Exception ex es :: Type) 
Instance details

Defined in Bluefin.Internal

Methods

oneWayCoercibleImpl :: OneWayCoercibleD (Exception ex e) (Exception ex es) #

Handle (Exception exn) 
Instance details

Defined in Bluefin.Internal

Methods

handleImpl :: HandleD (Exception exn) #

CloneableHandle (Exception a) 
Instance details

Defined in Bluefin.Internal.CloneableHandle

Methods

cloneableHandleImpl :: CloneableHandleD (Exception a)

e <: es => MonadFail (EffReader (Exception String e) es) 
Instance details

Defined in Bluefin.Internal

Methods

fail :: String -> EffReader (Exception String e) es a

Handlers

try :: forall exn (es :: Effects) a. (forall (e :: Effects). Exception exn e -> Eff (e :& es) a) -> Eff es (Either exn a) #

handle :: forall exn (es :: Effects) a. (exn -> Eff es a) -> (forall (e :: Effects). Exception exn e -> Eff (e :& es) a) -> Eff es a #

catch :: forall exn (es :: Effects) a. (forall (e :: Effects). Exception exn e -> Eff (e :& es) a) -> (exn -> Eff es a) -> Eff es a #

Effectful operations

throw :: forall (e :: Effects) (es :: Effects) ex a. e <: es => Exception ex e -> ex -> Eff es a #

rethrowIO :: forall ex (es :: Effects) (e1 :: Effects) (e2 :: Effects) r. (e1 <: es, e2 <: es, Exception ex) => IOE e1 -> Exception ex e2 -> Eff es r -> Eff es r #