OCaml library : Printexc.Slot (original) (raw)
Module Printexc.Slot
module Slot: sig
.. end
- Since 4.02
type ``t = [Printexc.backtrace_slot](Printexc.html#TYPEbacktrace%5Fslot)
val is_raise : [t](Printexc.Slot.html#TYPEt) -> bool
is_raise slot
is true
when slot
refers to a raising point in the code, and false
when it comes from a simple function call.
- Since 4.02
val is_inline : [t](Printexc.Slot.html#TYPEt) -> bool
is_inline slot
is true
when slot
refers to a call that got inlined by the compiler, and false
when it comes from any other context.
- Since 4.04
val location : [t](Printexc.Slot.html#TYPEt) -> [Printexc.location](Printexc.html#TYPElocation) option
location slot
returns the location information of the slot, if available, and None
otherwise.
Some possible reasons for failing to return a location are as follow:
the slot corresponds to a compiler-inserted raise
the slot corresponds to a part of the program that has not been compiled with debug information (
-g
)Since 4.02
val name : [t](Printexc.Slot.html#TYPEt) -> string option
name slot
returns the name of the function or definition enclosing the location referred to by the slot.
name slot
returns None if the name is unavailable, which may happen for the same reasons as location
returning None.
- Since 4.11
val format : int -> [t](Printexc.Slot.html#TYPEt) -> string option
format pos slot
returns the string representation of slot
asraw_backtrace_to_string
would format it, assuming it is thepos
-th element of the backtrace: the 0
-th element is pretty-printed differently than the others.
Whole-backtrace printing functions also skip some uninformative slots; in that case, format pos slot
returns None
.
- Since 4.02