next up previous contents
Next: 14.3 try-catch式 Up: 14. 例外 Previous: 14.1 Exceptionクラス

14.2 SystemExceptionクラス

SystemExceptionは、Cmm処理系がエラーに準じたトラブル状況を報告す るために投げるための例外クラスです。Cmm処理系は、このクラスの例外を直 接投げることはなく、そのサブクラスを投げます。Cmmの仕様して定義してい るSystemExceptionクラスのサブクラスは、以下のとおりです。

例外が投げられるときは、通常の処理はそこで中断されます。try-catch式で例外インスタンスを補足するようになっていない場合は、そこ でプログラムの実行が中断されます。

SystemExceptionクラスは、


class SystemException : Exception {

public pos ;
method New (mes) : (mes) ;
}

という定義になっています。posは、処理系がエラー発生個所の位置情報を格 納するためのエリアです。

インタープリタで、例外発生位置の情報を格納して、例外を投げることを想定 しています。プログラムで例外が補足されることがなく、処理系がプログラム の実行を中止する場合に、このposを利用して発生位置を知らせることができ ます。

SystemExceptionのサブクラスは、現在のところ上記の6つが定義され ていますが、これからの仕様変更によって追加される可能性があります。

なお、SystemExceptionクラスのサブクラスは、処理系初期化時に、そのインス タンスを下記の名前でインスタンスを準備しておきます。確実に例外を投げら れることを保証するための措置です。


next up previous contents
Next: 14.3 try-catch式 Up: 14. 例外 Previous: 14.1 Exceptionクラス
Tetsuo Ono
1998-11-05