Google

Go to the first, previous, next, last section, table of contents.


エラー処理

組み込み函数に不正な型の引数を渡した場合などには実行が中断されるが, ユーザ函数の中でエラーが起きた場合にはトップレベルに戻る前に自動的にデバッグ モードに入る. この状態で エラーの場所, 直前の引数の値などを調べることができる. 表示されるエラーメッセージはさまざまであり, 内部の函数名に引き続いて メッセージが表示される. これは, 呼び出された組み込み函数 と必ずしも対応はしない.

その他, さまざまな原因により内部演算函数においてエラーが生ずることが ある. UNIX 版の場合, これは次のいずれかの internal error として報告され, 通常のエラーと同様に扱って, デバッグモードに入る.

SEGV
BUS ERROR

組み込み函数によっては, 引数の型を厳密にチェックせずに演算ルーチンに引 き渡してしまうものも存在している. このような状況において, 不正なポインタ, あるいは NULL ポインタによるアクセス違反があった場合, これら のエラーとなる.
BROKEN PIPE

プロセス間通信において, 相手先のプロセスとの間のストリーム が既に存在していない場合 (例えば既に相手先のプロセスが終了している場合など) に, そのストリームに入出力しようとした場合にこのエラーとなる.

これらは実際には, 組み込み函数の入口において, 引数を完全にチェック することにより大部分は防げるが, 手間が多くかかることと, 場合に よっては効率を落すことにもなるため, あえて引数チェックはユーザ 任せにしてある.


Go to the first, previous, next, last section, table of contents.