R -'55.5.0+dev0-2025-04-28/(Printexc!tA;@@@A#exnh@@@|@@@@9../../stdlib/printexc.mliRR@@@@(Printexc@@A@)to_string@i@@@@@&stringj@@@@@@UU@@A@@1to_string_default@-k@@@@@l@@@@@@1YRR2YRv@@0B@@%print@@!a@B@@@!b@B@@@@@@@@ @@@@@R_S_5@@QC@@%catch@@!a@B@@@!b@B@@@@@@@@ @@@@@sgyyth@0ocaml.deprecatedzh{h@ "This function is no longer needed.hh@@hh@@@@@@h@@D@@/print_backtrace@&Stdlibm+out_channel@@@@@$unitn@@@@@@r  r  @@E@@-get_backtrace@o@@@@@p@@@@@@A / /A / P@@F@@0record_backtrace@$boolq@@@@@0r@@@@@@H # #H # E@@G@@0backtrace_status@Bs@@@@@t@@@@@@PWWPWy@@H@@0register_printer@@u@@@@@&optionLv@@@@@@@@@@nw@@@@@@VV7@@I@@,use_printers@'x@@@@@#y@@@@@@@@@0i1i@@/J@@-raw_backtraceB;@@@A@@@@@:q;q@@@@9K@A@3raw_backtrace_entryC;@@ @#intz@@@@@@@JK!@@A@IL@A@5raw_backtrace_entries@(Printexc{-raw_backtrace@@@@@%array}(Printexc|3raw_backtrace_entry@@@@@@@@@no@@mM@@1get_raw_backtrace @~@@@@@(Printexc-raw_backtrace@@@@@@   6@@N@@3print_raw_backtrace!@&Stdlib+out_channel@@@@@@(Printexc-raw_backtrace@@@@@@@@@@@@@L@@O@@7raw_backtrace_to_string"@(Printexc-raw_backtrace@@@@@@@@@@@@@P@@4raise_with_backtrace#@@@@@@@(Printexc-raw_backtrace@@@@@!a@D@@@@@5%raise_with_backtraceBA @@@@^^@@Q@@-get_callstack$@@@@@@(Printexc-raw_backtrace@@@@@:caml_get_current_callstackAA @@@DDD@@R@@ "default_uncaught_exception_handler%@#@@@@@@(Printexc-raw_backtrace@@@@@@@@@@@@@34!@@2S@@>set_uncaught_exception_handler&@@J@@@@@@(Printexc-raw_backtrace@@@@@@@@@@@@@@@@@@@@_`@@^T@@.backtrace_slot'D;@@/A@@@@@h#w#wi#w#@@@@gU@A@/backtrace_slots(@(Printexc-raw_backtrace@@@@@z"(Printexc.backtrace_slot@@@@@@@@@@@@###$6@@V@@t@@@=@@?@D))E))@@C`@@)is_inline3@(Printexc$Slot!t@@@@@@B@@@A@@C@`#**a#**@@_a@@(location4@(Printexc$Slot!t@@@D@@Ht(Printexc(location@@@E@@@G@@I@++X+Z++X+}@@b@@$name5@(Printexc$Slot!t@@@J@@N@@@K@@@M@@O@7--7-- @@c@@&format6@n@@@P@@W@(Printexc$Slot!t@@@Q@@U @@@R@@@T@@V@@X@A.7.9A.7._@@d@@@@))L//@e@@@2raw_backtrace_slot8H;@@A@@@@@Q00Q005@@@@f@A@4raw_backtrace_length9@(Printexc-raw_backtrace@@@Y@@[@@@Z@@\@a22a22@@g@@6get_raw_backtrace_slot:@(Printexc-raw_backtrace@@@]@@b@@@@^@@`(Printexc2raw_backtrace_slot@@@_@@a@@c@h3b3bh3b3@@h@@:convert_raw_backtrace_slot;@(Printexc2raw_backtrace_slot@@@d@@f(Printexc.backtrace_slot@@@e@@g@9o4%4%:o4%4j@@8i@@;get_raw_backtrace_next_slot<@(Printexc2raw_backtrace_slot@@@h@@lK(Printexc2raw_backtrace_slot@@@i@@@k@@m@[w44\x451@@Zj@@+exn_slot_id=@n@@@n@@p)@@@o@@q@r77s77@@qk@@-exn_slot_name>@@@@r@@tp@@@s@@u@8888@@l@@?string_of_extension_constructorg@&Stdlib#Obj!t@@@ r@@ t@@@ s@@ u@9999@@m@@@3 EFacilities for printing exceptions and inspecting current call stack.@@@@@@@@@@@@A9../../stdlib/printexc.mli#*Printexc.t3=The type of exception values.@@@@@@@@@@@@@AAà@@@2Printexc.to_string34Printexc.to_string e 5 returns a string representation of the exception !e!.@@@@@@@@@@@@@ @@@@:Printexc.to_string_default3 Converting backtraces to .backtrace_slot xs is slower than capturing the backtraces. If an application processes many backtraces, it can be useful to use -raw_backtrace> to avoid or delay conversion.@ p Raw backtraces cannot be marshalled. If you need marshalling, you should use the array returned by the /backtrace_slots " function of the next section.@@@@$4.01@@@@@@@@@A@@A@@@#Printexc.raw_backtrace_entries3@@@@$4.12@@@@@@@@@@@@z:Printexc.get_raw_backtrace3=Printexc.get_raw_backtrace () / returns the same exception backtrace that 8Printexc.print_backtrace C would print, but in a raw format. Same restriction usage than D@!.@@@@$4.01@@@@@@@@0@@@@ refers to a call that got inlined by the compiler, and %false , when it comes from any other context.@@@@$4.04@@@@@@@@8@@@@6Printexc.Slot.location3-location slot G returns the location information of the slot, if available, and $None+ otherwise.@ L Some possible reasons for failing to return a location are as follow: 1the slot corresponds to a compiler-inserted raise@ gthe slot corresponds to a part of the program that has not been compiled with debug information ("-g!)@@@@@@$4.02@@@@@@@@f@@@@2Printexc.Slot.name3)name slot e returns the name of the function or definition enclosing the location referred to by the slot.@' )name slot Y returns None if the name is unavailable, which may happen for the same reasons as (location0 returning None.@@@@$4.11@@@@@@@@@@@@4Printexc.Slot.format3/format pos slot & returns the string representation of $slot* as 7raw_backtrace_to_string + would format it, assuming it is the #pos "-th element of the backtrace: the !0 @-th element is pretty-printed differently than the others.@ b Whole-backtrace printing functions also skip some uninformative slots; in that case, /format pos slot) returns $None!.@@@@$4.02@@@@@@@@@@@@@@@@@@@@A@3Raw backtrace slots@@#;Printexc.raw_backtrace_slot3 1This type is used to iterate over the slots of a -raw_backtrace9. For most purposes, returns the slot in position #pos6 in the backtrace $bckt!.@@@@$4.02@@@@@@@ @6 @9@@@@ #Printexc.convert_raw_backtrace_slot3;Extracts the user-friendly .backtrace_slot6 from a low-level 2raw_backtrace_slot!.@@@@$4.02@@@@@@@@V@@@@ $Printexc.get_raw_backtrace_next_slot3 get_raw_backtrace_next_slot slot ' returns the next slot inlined, if any.@ K Sample code to iterate over all frames (inlined and non-inlined):  (* Iterate over inlined frames *) let rec iter_raw_backtrace_slot f slot = f slot; match get_raw_backtrace_next_slot slot with | None -> () | Some slot' -> iter_raw_backtrace_slot f slot' (* Iterate over stack frames *) let iter_raw_backtrace f bt = for i = 0 to raw_backtrace_length bt - 1 do iter_raw_backtrace_slot f (get_raw_backtrace_slot bt i) done @@@@$4.04@@@@@@@@q@@@@A@/Exception slots@@4Printexc.exn_slot_id34Printexc.exn_slot_id e returns an integer which uniquely identifies the constructor used to create the exception value #exn> (in the current runtime).@@@@$4.02@@@@@@@@@@@@6Printexc.exn_slot_name3:Printexc.exn_slot_name exn U returns the internal name of the constructor used to create the exception value #exn!.@@@@$4.02@@@@@@@@@@@@@@@@A#Obj@@@@@