next up previous contents index
: エラー処理機能 : エラー処理機能 : コンディションのクラス継承   目次   索引


システム定義のコンディションクラス

本節では,システムであらかじめ定義されているコンディションクラスを説明 する. なお,本節で説明する各クラスのスロットは,そのクラスが固有に持つスロッ トである. 各クラスは,クラス固有のスロット以外にスーパークラスから継承するスロッ トを持つということに注意されたい.

condition 【コンディションクラス】

すべてのコンディションクラスはエラーであろうとなかろうと,このクラスを 継承しなくてはならない. したがって,コンディションクラスはすべてクラス conditionのサブクラ スとなる.

simple-condition 【コンディションクラス】

このコンディションクラスは,第1引数としてフォーマット文字列が与えられ たとき関数 signalによって通知されるコンディションクラスである. このコンディションクラスのダイレクトスーパークラスは,クラス conditionである.

スロットとして, format-string format-argumentsが 用意されている.

break 【コンディションクラス】

このコンディションクラスは,関数 breakによって通知されるコンディ ションクラスである. このコンディションクラスのダイレクトスーパークラスは,クラス simple-conditionである.

スロットとして, envが用意されており,デバッグレベル (19.14節参照)で参照する環境データをAリストとして格納する のに用いる.

warning 【コンディションクラス】

警告に関するすべてのクラスはこのコンディションを継承する. このコンディションクラスのダイレクトスーパークラスは,クラス conditionである.

simple-warning 【コンディションクラス】

このコンディションクラスは,第1引数としてフォーマット文字列が与えられ たとき関数 warnによって通知されるコンディションクラスである. このコンディションクラスのダイレクトスーパークラスは,クラス warningとクラス simple-conditionである.

serious-condition 【コンディションクラス】

このコンディションクラスは,すべての重大なコンディション(もし処理されな かった場合,会話形式の割り込みを必要とするほど重大なコンディション)が 継承するコンディションクラスである. このコンディションクラスのダイレクトスーパークラスは,クラス conditionである.

error 【コンディションクラス】

エラーに関するすべてのクラスはこのコンディションを継承する. このコンディションクラスのダイレクトスーパークラスは,クラス serious-conditionである.

スロットとして, function argumentsが 用意されている. スロット functionには,エラーを発した関数が格納される. スロット argumentsには,エラーを発した関数への引数のリストが格納 される.

simple-error 【コンディションクラス】

このコンディションクラスは,第1引数としてフォーマット文字列が与えられ たとき関数 errorによって通知されるコンディションである. このコンディションクラスのダイレクトスーパークラスは,クラス error simple-conditionである.

byte-code-error 【コンディションクラス】

このコンディションクラスは,プリミティブなバイトコードにより通知さ れるコンディションが継承すべきコンディションクラスである. このコンディションクラスのダイレクトスーパークラスは,クラス errorである.

スロットとして byte-code-functionが用意されており,エラーを通知し たバイトコード命令が格納される.

not-function-apply 【コンディションクラス】

このコンディションクラスは,関数があるべきところにそれが与えら れない場合に通知されるコンディションである. このコンディションクラスのダイレクトスーパークラスは,クラス errorである.

symbol-error 【コンディションクラス】

このコンディションクラスは,記号に関するエラーのコンディションクラ スである. このコンディションクラスのダイレクトスーパークラスは,クラス errorである.

スロットとして, objectが用意されており,このスロットに エラーを起こした記号が格納される.

unbound-symbol 【コンディションクラス】

このコンディションクラスは,バインドされていない記号を用いた時に 通知されるコンディションである. このコンディションクラスのダイレクトスーパークラスは,クラス symbol-errorである.

unbound-symbol-bci 【コンディションクラス】

このコンディションクラスは,バインドされていない記号を用いた時に バイトコードにより通知されるコンディションである. このコンディションクラスのダイレクトスーパークラスは,クラス symbol-errorとクラス byte-code-errorである.

not-ordinary-symbol 【コンディションクラス】

このコンディションクラスは,特殊フォームを表す記号を大域変数名として使 用した時に通知されるコンディションである. このコンディションクラスのダイレクトスーパークラスは,クラス symbol-errorである.

illegal-argument 【コンディションクラス】

このコンディションクラスは,関数が要求している引数と異なった引数を 与えたときに,その関数によって通知されるコンディションである. このコンディションクラスのダイレクトスーパークラスは,クラス errorである.

スロットとして, messageが用意されており,これにエラー メッセージの文字列が格納される.

illegal-argument-type 【コンディションクラス】

このコンディションクラスは,関数が要求している引数の型と異なる型の引数 を与えた時にその関数によって通知されるコンディションである. このコンディションクラスのダイレクトスーパークラスは,クラス illegal-argumentである.

スロットとして, object typeが用意されており, 各々のスロットにはエラーとなったオブジェクト, 要求されている引数の型を表す文字列が格納される.

{ illegal-number-of-arguments 【コンディションクラス】

このコンディションクラスは,関数が要求している引数の数と異なる数の引数を 与えた時にその関数によって通知されるコンディションである. このコンディションクラスのダイレクトスーパークラスは,クラス illegal-argumentである.

スロットとして, number-of-argumentsが用意されており, 要求されている引数の個数が格納される.

arithmetic-error 【コンディションクラス】

このコンディションクラスは,算術演算に関するエラーのコンディションクラ スである. このコンディションクラスのダイレクトスーパークラスは,クラス errorである.


next up previous contents index
: エラー処理機能 : エラー処理機能 : コンディションのクラス継承   目次   索引
Tsuneyasu KOMIYA 平成14年2月22日