`sig
val pass : ('a -> 'b) -> 'a -> 'b
val catch : ('a -> 'b) -> 'a -> 'b
val to_string : exn -> string
val print_backtrace : 'a BatInnerIO.output -> unit
val get_backtrace : unit -> string
val record_backtrace : bool -> unit
val backtrace_status : unit -> bool
val register_printer : (exn -> string option) -> unit
val print : 'a BatInnerIO.output -> exn -> unit
type raw_backtrace = Printexc.raw_backtrace
val get_raw_backtrace : unit -> BatPrintexc.raw_backtrace
val print_raw_backtrace :
Pervasives.out_channel -> BatPrintexc.raw_backtrace -> unit
val raw_backtrace_to_string : BatPrintexc.raw_backtrace -> string
val get_callstack : int -> BatPrintexc.raw_backtrace
val set_uncaught_exception_handler :
(exn -> BatPrintexc.raw_backtrace -> unit) -> unit
type backtrace_slot = Printexc.backtrace_slot
val backtrace_slots :
BatPrintexc.raw_backtrace -> BatPrintexc.backtrace_slot array option
type location =
Printexc.location = {
filename : string;
line_number : int;
start_char : int;
end_char : int;
}
module Slot :
sig
type t = BatPrintexc.backtrace_slot
val is_raise : BatPrintexc.Slot.t -> bool
val location : BatPrintexc.Slot.t -> BatPrintexc.location option
val format : int -> BatPrintexc.Slot.t -> string option
end
type raw_backtrace_slot = Printexc.raw_backtrace_slot
val raw_backtrace_length : BatPrintexc.raw_backtrace -> int
val get_raw_backtrace_slot :
BatPrintexc.raw_backtrace -> int -> BatPrintexc.raw_backtrace_slot
val convert_raw_backtrace_slot :
BatPrintexc.raw_backtrace_slot -> BatPrintexc.backtrace_slot
val exn_slot_id : exn -> int
val exn_slot_name : exn -> string
end`