$EC[ODE]は、 まだ解決されていないエラー条件である "アクティブ" なエラーのエラーコードのリストが含まれます。もしアクティブなエラーがない場合、$ECODEは空の文字列を含みます。 エラーが発生するたびに、そのエラーのコードは、$ECODEの値は常にカンマで開始し終わるように$ECODEの値に追加されます。
$ECODEの値はSETすることができ、それがNULL以外の値にSETされている場合、エラー処理が開始します。
注意 | |
---|---|
エラー処理で$ECODEの役割について学ぶために、第13章: “エラー処理” を参照してください。 |
$ECODEのコードリストは、カンマで区切られたカンマで始まります。コードは、"M"、"U"、"Z"で始まり、残りは数値です。MDC(MUMPS開発委員会)によって "M"、アプリケーション(プログラマ)によって "U"、MUMPSの実装(この場合のGT.M)によって "Z"、 のコードがそれぞれ割り当てられます。
エラーは常にGT.Mに指定されたコードを持ち、多くのエラーはまたANSI標準規格のコードを持っています。標準化されたエラーコードの完全なリストは、GT.Mメッセージと回復手順リファレンスマニュアルのバージョン4.3以降から参照できます。
IF $ECODE[",M61," WRITE "Undefined local variable"
注意 | |
---|---|
$ECODEの値の左端の文字は常にコンマです。これは、$ECODEに格納されているすべてのエラーコードがコンマで囲まれていることを意味します。もし$ECODEは、カンマ(つまり、"M61")が無いエラーコードが含まれることがあった場合、変数は、同様にサブセット "M6" かどうかを確認するでしょう。従って、チェックする変数ではカンマを含めることを推奨します。例えば、$ECODEは、",M61," が含まれているかどうかをチェックしてください。 |
$ECODEは、SETされていますが、NEWされていません。$ECODEが空の文字列 ("") にセットされている場合、エラー処理は "inactive" (非アクティブ) になり、したがって、QUITは、追加のエラー処理をトリガしません。
$ECODEが空の文字列にセットされていない時、Mのエラー処理は、$STACKのいくつかのアスペクトでの動作にも影響を与えるようにアクティブになります。