例外の処理

ユーザーの処理プロシージャーで例外イベントを処理するには、以下のステップに従います。

  1. XML-CODE の中身を使用して、アクシ ョンを決定します。
  2. 例外を処理したことを示すには、XML-CODE を 0 に設定します。
  3. パーサーに制御を戻します。これにより例外条件はもう存在しません。

構文解析終了までの間に未処理の例外が発生しなかった場合は、 NOT ON EXCEPTION 句 (通常の構文解析終了) で指定したステートメントに制御が渡されます。 NOT ON EXCEPTION 句をコーディングしない場合は、 制御は XML PARSE ステートメントの終わりに渡されます。 特殊レジスター XML-CODE は 0 を含みます。

XML-CODE で渡された例外コードが以下のいずれかの範囲内である場合にのみ、 このような方法で例外を処理することができます。

そうでない場合は、パーサーはそれ以上のイベントを通知せず、 ON EXCEPTION 句で指定したステートメントに制御を渡します。 この場合は、処理プロシージャーで パーサーに制御を戻す前に XML-CODE を 0 に 設定したときも、XML-CODE は元の例外番号を含みます。

XML-CODE を元の例外コードとは異なる非ゼ ロ値に設定して、パーサーに制御を戻した場合の結果は定義されていません。