`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`