Bare.Unit
val unit : t
val unit_s : t Lwt.t
val unit_e : (t, 'a) Stdlib.result
val unit_es : (t, 'a) Stdlib.result Lwt.t
val to_string : t -> string
catch f
is f ()
, but exceptions are ignored and ()
is returned if one is raised.
You should only use catch
when you truly do not care about what exception may be raised during the evaluation of f ()
. If you need to inspect the raised exception consider catch_f
and if you need to pass it along consider Result.catch
.
If catch_only
is set, then only exceptions e
such that catch_only e
is true
are caught.
Whether catch_only
is set or not, this function never catches non-deterministic runtime exceptions of OCaml such as Stack_overflow
and Out_of_memory
.
catch_f f handler
is f ()
. If f ()
raises an exception then handler
is called.
No attempt is made to catch the exceptions raised by handler
.
catch_only
has the same behaviour and limitations as with catch
.