module Or_error: Or_error
type 'a
t = ('a, Error.t) Result.t
include Monad.S
val try_with : ?backtrace:bool -> (unit -> 'a) -> 'a t
try_with f
catches exceptions thrown by f
and returns them in the Result.t as an
Error.t. try_with_join
is like try_with
, except that f
can throw exceptions or
return an Error directly, without ending up with a nested error; it is equivalent to
Result.join (try_with f)
.
val try_with_join : ?backtrace:bool -> (unit -> 'a t) -> 'a t
val ok_exn : 'a t -> 'a
ok_exn t
throws an exception if t
is an Error
, and otherwise returns the
contents of the Ok
constructor.
val of_exn : ?backtrace:[ `Get | `This of string ] -> exn -> 'a t
of_exn exn
is Error (Error.of_exn exn)
.
val of_exn_result : ('a, exn) Result.t -> 'a t
of_exn_result (Ok a) = Ok a
, of_exn_result (Error exn) = of_exn exn
val error : string -> 'a -> ('a -> Sexplib.Sexp.t) -> 'b t
error message value sexp_of_value
constructs an Error.t
and returns it as a
Result.Error
.
val error_string : string -> 'a t
error_string message
is Error (Error.of_string message)
val unimplemented : string -> 'a t
unimplemented name
returns a standard error value for an unimplemented value.
val all_ok : 'a t list -> 'a list t
val t_of_sexp : (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'a t
val sexp_of_t : ('a -> Sexplib.Sexp.t) -> 'a t -> Sexplib.Sexp.t
val bin_t : 'a Bin_prot.Type_class.t -> 'a t Bin_prot.Type_class.t
val bin_read_t : 'a Bin_prot.Unsafe_read_c.reader -> 'a t Bin_prot.Read_ml.reader
val bin_read_t_ : 'a Bin_prot.Unsafe_read_c.reader ->
'a t Bin_prot.Unsafe_read_c.reader
val bin_read_t__ : 'a Bin_prot.Unsafe_read_c.reader ->
(int -> 'a t) Bin_prot.Unsafe_read_c.reader
val bin_reader_t : 'a Bin_prot.Type_class.reader -> 'a t Bin_prot.Type_class.reader
val bin_size_t : 'a Bin_prot.Size.sizer -> 'a t Bin_prot.Size.sizer
val bin_write_t : 'a Bin_prot.Unsafe_write_c.writer -> 'a t Bin_prot.Write_ml.writer
val bin_write_t_ : 'a Bin_prot.Unsafe_write_c.writer ->
'a t Bin_prot.Unsafe_write_c.writer
val bin_writer_t : 'a Bin_prot.Type_class.writer -> 'a t Bin_prot.Type_class.writer