sig type t = exn = .. val to_string : exn -> string val to_string_default : exn -> string val print : ('a -> 'b) -> 'a -> 'b val catch : ('a -> 'b) -> 'a -> 'b val print_backtrace : Stdlib.out_channel -> unit val get_backtrace : unit -> string val record_backtrace : bool -> unit val backtrace_status : unit -> bool val register_printer : (exn -> string option) -> unit val use_printers : exn -> string option type raw_backtrace type raw_backtrace_entry = private int val raw_backtrace_entries : Printexc.raw_backtrace -> Printexc.raw_backtrace_entry array val get_raw_backtrace : unit -> Printexc.raw_backtrace val print_raw_backtrace : Stdlib.out_channel -> Printexc.raw_backtrace -> unit val raw_backtrace_to_string : Printexc.raw_backtrace -> string external raise_with_backtrace : exn -> Printexc.raw_backtrace -> 'a = "%raise_with_backtrace" external get_callstack : int -> Printexc.raw_backtrace = "caml_get_current_callstack" val default_uncaught_exception_handler : exn -> Printexc.raw_backtrace -> unit val set_uncaught_exception_handler : (exn -> Printexc.raw_backtrace -> unit) -> unit type backtrace_slot val backtrace_slots : Printexc.raw_backtrace -> Printexc.backtrace_slot array option val backtrace_slots_of_raw_entry : Printexc.raw_backtrace_entry -> Printexc.backtrace_slot array option type location = { filename : string; line_number : int; start_char : int; end_char : int; } module Slot : sig type t = Printexc.backtrace_slot val is_raise : Printexc.Slot.t -> bool val is_inline : Printexc.Slot.t -> bool val location : Printexc.Slot.t -> Printexc.location option val name : Printexc.Slot.t -> string option val format : int -> Printexc.Slot.t -> string option end type raw_backtrace_slot val raw_backtrace_length : Printexc.raw_backtrace -> int val get_raw_backtrace_slot : Printexc.raw_backtrace -> int -> Printexc.raw_backtrace_slot val convert_raw_backtrace_slot : Printexc.raw_backtrace_slot -> Printexc.backtrace_slot val get_raw_backtrace_next_slot : Printexc.raw_backtrace_slot -> Printexc.raw_backtrace_slot option val exn_slot_id : exn -> int val exn_slot_name : exn -> string val string_of_extension_constructor : Stdlib.Obj.t -> string end