bluefin-0.7.0.1: The Bluefin effect system
Safe HaskellNone
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 #