Module Js.Exn
Utilities for dealing with Js exceptions
ocaml
type treasonml
type t;ocaml
type exn += privatereasonml
type exn += priocaml
| Error of treasonml
| Error(t)ocaml
reasonml
;ocaml
val asJsExn : exn -> t optionreasonml
let asJsExn: exn => option(t);ocaml
val stack : t -> string optionreasonml
let stack: t => option(string);ocaml
val message : t -> string optionreasonml
let message: t => option(string);ocaml
val name : t -> string optionreasonml
let name: t => option(string);ocaml
val fileName : t -> string optionreasonml
let fileName: t => option(string);ocaml
val isCamlExceptionOrOpenVariant : 'a -> boolreasonml
let isCamlExceptionOrOpenVariant: 'a => bool;internal use only
ocaml
val anyToExnInternal : 'a -> exnreasonml
let anyToExnInternal: 'a => exn;anyToExnInternal obj will take any value obj and wrap it in a Js.Exn.Error if given value is not an exn already. If obj is an exn, it will return obj without any changes.
This function is mostly useful for cases where you want to unify a type of a value that potentially is either exn, a JS error, or any other JS value really (e.g. for a value passed to a Promise.catch callback)
IMPORTANT: This is an internal API and may be changed / removed any time in the future.
ocaml
switch (Js.Exn.unsafeAnyToExn("test")) {
| Js.Exn.Error(v) =>
switch (Js.Exn.message(v)) {
| Some(str) => Js.log("We won't end up here")
| None => Js.log2("We will land here: ", v)
}
}ocaml
val raiseError : string -> 'areasonml
let raiseError: string => 'a;Raise Js exception Error object with stacktrace
ocaml
val raiseEvalError : string -> 'areasonml
let raiseEvalError: string => 'a;ocaml
val raiseRangeError : string -> 'areasonml
let raiseRangeError: string => 'a;ocaml
val raiseReferenceError : string -> 'areasonml
let raiseReferenceError: string => 'a;ocaml
val raiseSyntaxError : string -> 'areasonml
let raiseSyntaxError: string => 'a;ocaml
val raiseTypeError : string -> 'areasonml
let raiseTypeError: string => 'a;ocaml
val raiseUriError : string -> 'areasonml
let raiseUriError: string => 'a;