Picos_exn_bt
Wrapper for exceptions with backtraces.
val get : exn -> t
get exn
is equivalent to { exn; bt = Printexc.get_raw_backtrace () }
.
val get_callstack : int -> exn -> t
get_callstack n exn
is equivalent to { exn; bt = Printexc.get_callstack n }
.
Note that Printexc.get_callstack 0
effectively returns a constant value and this function is optimized to take that into account.
val raise : t -> 'a
raise exn_bt
is equivalent to Printexc.raise_with_backtrace exn_bt.exn exn_bt.bt
.
val discontinue : ('a, 'b) Stdlib.Effect.Deep.continuation -> t -> 'b
discontinue k exn_bt
is equivalent to Effect.Deep.discontinue_with_backtrace k exn_bt.exn exn_bt.bt
.
val discontinue_with :
('a, 'b) Stdlib.Effect.Shallow.continuation ->
t ->
('b, 'c) Stdlib.Effect.Shallow.handler ->
'c
discontinue_with k exn_bt h
is equivalent to Effect.Shallow.discontinue_with_backtrace k exn_bt.exn exn_bt.bt h
.