第13章. エラー処理

改訂履歴
改訂 V6.0-003 2014年2月24日

“ダイレクトモードの外側で実行時エラー” で、gtm_etrap 環境変数に関する注意を追加

改訂 V6.0-001 2013年3月21日

$ETRAPまたは$ZTRAP の選択”で、致命的でないエラーの処理に関する注意を追加

改訂 V5.4-002B 2011年12月26日 各章の改訂履歴を含むGT.Mのリリースを反映したドキュメント改訂履歴への変換

目次

コンパイル時の エラーメッセージフォーマット
コンパイル時のエラー処理
実行時のエラー メッセージのフォーマット
実行時エラーの処理
ダイレクトモードでのランタイムエラー
ダイレクトモードの外側で実行時エラー
エラーの処理プログラム
$ECODE
$ZSTATUS の内容
$ZERROR と $ZYERROR
$ETRAP の挙動
$ETRAPのネストと $ESTACKの使用
$ZTRAP の挙動
$ETRAPと$ZTRAPの違い
$ETRAPで$ZTRAPの 相互作用
$ETRAPまたは$ZTRAPの選択
エラー処理の注意点
入出力 エラー
エラーのアクション
エラー時のブレーク
エラー時の無条件転送
各レベルでの$ZTRAPを設定
エラー処理のネスト
エラー時の実行終了
その他のアクションに$ZTRAPを設定
$ETRAP と$ZTRAPのエラー処理オプションの概要
$ZTRAPでのエラー
エラーに関する情報の記録

この章では、エラー処理のためのGT.Mの機能とテクニックを説明します。プログラムのエラーは、予期する意味の"予測可能" として、または、不測の意味の "予測不可能" 、として分類されます。

Mプログラムは、予測可能エラーから回復を試みることができます。オペレータによって改善可能なデバイスエラーは、回復が大きなメリットをもたらすエラーの中で最も一般的な部類です。 プログラムが回復しようとしない予測可能なエラーは、一般的に予測不可能なエラーと同じに扱われます。

典型的なアプリケーションは、設計者が有用と考えるエラーに関する多くの情報をロギングによって、予期しないエラーを処理し、その後に、既知のポイントからアプリケーションを終了または再起動します。

GT.Mは物事が正常ではない時にエラー処理が実行されるので、エラー処理の慎重な設計と実装は、エラーとその後の予防のコストの影響を、最小限にする必要があります。

GT.Mコンパイラは、以下の時、シンタックス(構文規則)エラーを検出し報告します:

GT.M ランタイムシステム:

inserted by FC2 system