Up

module Extended_exn

: sig

Extensions to Core.Exn.

#
val to_string : exn -> string

The to_string function is slightly tweaked to avoid escaping the string content of Failure.

#
val to_string_hum : exn -> string

This is also an ever so slight variation of to_string target more at user than developers (Failure s is just printed as s)

#
val unwrap : exn -> exn

unwrap e

Tries to unwrap an exception to find the original cause of the error (Finally for instance has the propency to burry exception...). This is useful when matching on exceptions.

#
module Exn_string : sig

The point of this module is to be able to include an exn in a type that has to be sexpable or binable. The Exn_string.t type is more descriptive than just converting to a string and is guaranteed to have come from an exn (unless someone abuses the t_of_sexp function or something).

#
type t = private string
include Core.Std.Sexpable with type t := t
include Core.Std.Stringable with type t := t
include Core.Std.Binable with type t := t
#
val of_exn : exn -> t
end
end