XDS Modula-2の例外検出について。

XDS Modula-2 のランタイムシステムは、以下のすべてを検出します。
【整数のゼロ除算】
【整数のオーバーフロー】
【配列の範囲オーバー】
【不正アドレス(nilポインター)のアクセス】
【スタックオーバーフロー】

XDS 2.51、XDS 2.6 beta 2 ともにクリアです。

ちなみに、ADW Modula-2 では、配列の範囲オーバーは検出しませんでした。他のチェックオプションはありましたが、なぜか範囲チェックのオプション設定自体が見当たりません。

ExTest.p の Modula-2 版のソースを以下に示します。ソースはExTest.modとます。
コンパイラのチェックも厳しく、単純に例外が予測できるコードを書くとコンパイル時にエラーとなるので、若干変えています。また、Pascal版もModula-2版も、メニューは繰返し表示するようにしていますが、実際には例外の捕捉はしていないので、例外検出でプログラムが終了します。ここではプログラムが終了してしまうことが問題では無く、終了しないことを問題としています。Free PascalとXDS Modula-2/ADW Modula-2では例外の捕捉を追加し、処理を継続させることができます。
コンパイルは、XDS Modula-2 をインストールし、次のようにします。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください