1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
type t = Ojs.t
let name x = Ojs.string_of_js (Ojs.get_prop_ascii x "name")
let message x = Ojs.string_of_js (Ojs.get_prop_ascii x "message")
let stack x = Ojs.option_of_js Ojs.string_of_js (Ojs.get_prop_ascii x "stack")
let to_string x = Ojs.string_of_js (Ojs.call x "toString" [||])
exception Error of t
let () = Callback.register_exception "jsError" (Error (Ojs.obj [||]))
let () =
Printexc.register_printer (function
| Error x -> Some (to_string x)
| _ -> None
)