実行時に出力されるメッセージについて説明します。
メッセージの形式
COBOLの実行時のメッセージ形式を以下に示します。
日付と時刻 メッセージ番号 [プロセスID スレッドID] メッセージ本文
日付と時刻は次のように表示されます。
YYYY-MM-DD HH:MM:SS (西暦-月-日 時:分:秒)
表示される時間はローカル時間(日本の場合、GMT+9時間)です。
メッセージ番号は次のように表示されます。
JMP:
COBOLの実行時メッセージであることを示します。
nnnn:
メッセージの通し番号を示します。
i:
オペレータの応答の必要性を示す以下の文字を表示します。
I:
オペレータの応答が不要であることを示します。
A:
オペレータの応答が必要であることを示します。
w:
重大度を示すコードを表示します。(表3.1 実行時メッセージの重大度コードの意味と復帰コードへの影響参照)
重大度コードの意味および復帰コードとの関係を以下の表に示します。
重大度コード | レベル | 意味 |
---|---|---|
I (INFORMATION) | 通知メッセージ | ランタイムシステムが検出した情報です。 プログラムの実行に支障はありません。 |
W (WARNING) | 軽度のエラー | プログラムの実行に支障はありません。 ただし、実行結果が利用者の意図どおりかを確認する必要があります。 |
E (ERROR) | 中程度のエラー | エラーが存在しますが、適当な仮定に従って処理を続行します。 |
U (*1) (UNRECOVERABLE) | 致命的なエラー | プログラムの実行を中断し、終了処理を行います。 |
*1
Uレベルのメッセージが出力された場合、例外情報を出力します。
エラーの検出されたプログラムのプロセスIDおよびスレッドIDを以下の形式で設定します。
[PID:mmmmmmmm TID:nnnnnnnn]
mmmmmmmm:
エラーを検出したアプリケーションのプロセスID
nnnnnnnn:
エラーを検出したアプリケーションのスレッドID
実行時のエラーの内容を説明します。 以降では、実行時メッセージの本文の内容、システムの処理、意味およびプログラムの処置を以下の形式で説明します。
メッセージ
メッセージ番号 メッセージ本文 (*1)
*1
メッセージ本文中の "$n" は、可変情報を示すパラメタです。 実際に出力されるメッセージでは、このパラメタの部分は、プログラム名やファイル名などを表す文字列で置き換えられます。
システムの処理
システムまたはランタイムシステムの処理
補足
メッセージ本文の意味
プログラマの処置
プログラマが行うべき対処方法
参考
アクセス名とファイル名
メッセージ本文の可変情報を示すパラメタに設定されるアクセス名またはファイル名について説明します。
アクセス名 アクセス名は、プログラムとファイルの実体を結びつける名前であり、実行時にファイルの実体の名前を設定した環境変数情報名に対応します。 アクセス名は、ASSIGN句にファイル識別名を記述した場合のファイル識別名に対応します。
ファイル名 ファイル名は、ファイルの実体の名前です。 ファイル名は、ASSIGN句にファイル識別名定数を記述した場合、ファイル識別名定数に対応し、ASSIGN句にデータ名を記述した場合、データ名の内容に対応します (ただし、データ名の内容が認識不可能な場合、 "?" を表示します)。 また、ASSIGN句に "DISK" または "PRINTER" を記述した場合、SELECT句に記述されたファイル名に対応します。 なお、SELECT句を記述したファイル名は、メッセージ本文中では括弧で囲んで表示されます。
参考
エラーアドレス
エラーアドレスは以下の形式で表示されます。
[注意]ただし、NetCOBOL for .NETでは、 "ADR = nnnnnnnn"の部分は表示されません。
プログラム定義で検出された場合
PGM = 外部プログラム名 ADR = nnnnnnnn
nnnnnnnn:
エラーを検出したアプリケーションのアドレス
メソッド定義で検出された場合
CLASS = メソッドが定義されているクラス名 METHOD = メソッド名 ADR = nnnnnnnn
nnnnnnnn:
エラーを検出したアプリケーションのアドレス
実行時メッセージ一覧
0001|0002|0007|0012|0015|0016|0019|0022|0026|0034|0068|0069|0070|0075|0085|0086|0088|0089|0096|0097|
0099|0106|0170|0171|0172|0200|0208|0230|0231|0253|0259|0260|0261|0262|0263|0301|0302|0310|0311|0313|
0320|0321|0322|0323|0324|0325|0326|0327|0330|0331|0350|0370|0371|0372|0374|0375|0377|0400|0600|0601|
0608|0609|0612|0613|0614|0615|0616|0701|0702|0703|0820|0821|0822|0828|0829|0899|0901|0902|0903|0904|
0905