M.Exn
Interacting between monads and language exceptions
expect ?finally ~f ~catch
evaluates f ()
, if an exception e
is raised during the evaluation (or call) then the result of whole computation will be catch e
. If an optional argument ?finally
is passed the finally
is called after f ()
computation or after catch e
if an exception was raised.