Module Printexc


module Printexc: sig .. end
例外の表示

val to_string : exn -> string
Printexc.to_string e は例外 e の文字列表現を返します。
val print : ('a -> 'b) -> 'a -> 'b
Printexc.print fn xfnx に適用し、その戻り値を返します。 fn x の評価中に何らかの例外が発生した場合には、標準エラー出力に例外の名前を表示し、例外を再送出します。 典型的な使用法は、関数適用を素通りする例外を捕捉して報告することです。
val catch : ('a -> 'b) -> 'a -> 'b
Deprecated.Printexc.catch fn xPrintexc.print とほぼ同じですが、例外を表示したあとにプログラムを終了コード 2 で終了させます。 この関数の使用は推奨されません 現在のランタイムシステムは Printexc.catch と同様に捕捉されなかった例外を正確に表示します。 さらに、 Printexc.catch を呼び出すと、デバッガやスタックトレースを使って例外の発生した位置を追跡するのが困難になります。 新しいコードでは Printexc.catch を使わないでください。
val print_backtrace : out_channel -> unit
Printexc.print_backtrace oc はバックトレースを出力チャネル oc に表示します。 バックトレースは、直近の例外がどこで発生し、関数呼び出しによりどのように波及してきたのかを列挙します。
val get_backtrace : unit -> string
Printexc.get_backtrace () は、 Printexc.print_backtrace が表示するのと同じバックトレース文字列を返します。
Since 3.11.0
val record_backtrace : bool -> unit
Printexc.record_backtrace bb = true の場合、例外のバックトレースの記録を有効にし、 b = false の場合、無効にします。 OCAMLRUNPARAM 環境変数を介して b フラグを与えなかった場合には、初期状態ではバックトレースは記録されません。
Since 3.11.0
val backtrace_status : unit -> bool
Printexc.backtrace_status () は現在バックトレースが記録されていれば true を返し、そうでなければ false を返します。
Since 3.11.0
val register_printer : (exn -> string option) -> unit
Printexc.register_printer fnfn を例外表示関数として登録します。 表示関数は与えられた例外を文字列に変換できない場合には None を返し、変換できる場合には変換結果の文字列 sSome s として返します。表示関数内で起こった例外は無視されます。

例外を文字列に表示するとき、表示関数は登録された順の逆に、いずれかの関数が Some s なる値を返すまで順に呼び出されます(そのような関数が存在しなかった場合は、ランタイムシステムは汎用の表示関数を使います)。
Since 3.11.2