例外状態処理の構文(WHEN EXCEPTION IN)

WHEN EXCEPTION IN
  when本体
USE
  例外処理区
END WHEN

when本体
 WHEN EXCEPTION IN行とUSE行の間をwhen本体という。
 when本体の実行が正常に終了すると,END WHENの次の行に分岐する。
 when本体の実行中に例外が発生すると,例外処理区に分岐する。

例外処理区
 USE行と END WHEN行の間の行を例外処理区という。
 END WHEN行を実行すると例外処理区を抜けて次の行に進む。
 例外処理区の外へGOTO文などで分岐することはできない。

例外処理区では,次の文が利用できる。

RETRY
 例外を引き起こした行から実行を再開する。

CONTINUE
 例外を引き起こした行の次の行から実行を再開する。ただし,構文の始まり,あるいはその一部となる行で例外が起きたときは,その構文の終わりの行の次の行から実行を再開する。たとえば,FOR行で例外が起きたときはNEXT行の次の行から実行を再開する。ELSEIF行で例外が起きたときは,対応するEND IF行の次の行から実行を再開する。