19.2 組み込みの型と定義済みの例外

19.2.1. 組み込みの型
19.2.2. 定義済みの例外

以下の組み込みの型と定義済み例外はコンパイル環境で常に定義されていますが、これらはいかなるモジュールの要素でもありません。したがって、これらはここに挙げた名前でしか参照できません。

19.2.1 組み込みの型

type int

整数の型。

type char

文字型。

type string

文字列の型。

type float

浮動小数点数型。

type bool = false | true

真偽値の型。

type unit = ()

ユニット値の型。

type exn

例外値の型。

type 'a array

'a 型の値を要素とする配列の型。

type 'a list = [] | :: of 'a * 'a list

'a 型の値を要素とするリストの型。

type 'a option = None | Some of 'a

'a 型の値のオプション型。

type int32

符号付き 32 ビット整数の型。 Int32 モジュールを参照してください。

type int64

符号付き 64 ビットの整数型。 Int64 モジュールを参照してください。

type nativeint

符号付きのプラットフォームネイティブな整数の型(32 ビットプロセッサでは 32 ビット、 64 ビットプロセッサでは 64 ビットになります)。 Nativeint モジュールを参照してください。

type ('a, 'b, 'c, 'd) format4

書式指定文字列の型。'a は書式指定のパラメータの型、'dprintf 形式の関数の戻り値の型、'b%a%t の表示関数に第一引数の型(Printf モジュールを参照してください)、'c はこれらの表示関数の戻り値の型です。

type 'a lazy_t

この型は Lazy モジュールを実装するために使われています。この型を直接使わないでください。

19.2.2 定義済みの例外

exception Match_failure of (string * int * int)

パターンマッチでマッチするパターンが存在しなかった場合に発生する例外です。引数はソースコード中のパターンマッチの位置(ファイル名、行番号、桁数)です 。

exception Assert_failure of (string * int * int)

表明に失敗したとき発生する例外です。引数はソースコード中での assert キーワードの位置(ファイル名、行番号、桁数)です。

exception Invalid_argument of string

与えられた引数が意味を成さないことを示すためにライブラリ関数が発生させる例外です。

exception Failure of string

その関数が与えられた引数に対して未定義であることを示すためにライブラリ関数が発生させる例外です。

exception Not_found

所望のオブジェクトが見つからないときに探索関数が発生させる例外です。

exception Out_of_memory

計算を完了するのに十分なメモリがないときにガーベッジコレクタが発生させる例外です。

exception Stack_overflow

バイトコードインタプリタの評価スタックが最大サイズに到達した場合に発生する例外です。 これは、多くの場合ユーザープログラムで無限もしくは極端に深い再帰が発生したことを意味します(ネイティブコードコンパイラでは完全には実装されていません。 11.5 節「Compatibility with the bytecode compiler」 を参照してください)

exception Sys_error of string

OS のエラーが発生したことを通知するために入出力関数が発生させる例外です。

exception End_of_file

ファイル終端に到達したことを通知するために入力関数が発生させる例外です。

exception Division_by_zero

整数の除算や剰余の計算で第二引数が 0 の場合に発生する例外です。

exception Sys_blocked_io

Sys_error の特別な場合で、非同期入出力の際に利用できる入出力チャネルがない場合に発生します。

exception Undefined_recursive_module of (string * int * int)

ill-founded な再帰モジュール定義を評価したときに発生する例外です( 7.8 節「再帰モジュール」 を参照してください)。 引数はソースコード中でのその定義の位置(ファイル名、行番号、桁数)です。