Module Core_extended.Extended_exn

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 ... end

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).