ランタイムエラーの処理の仕組み

ランタイムエラーが発生するのは、ステートメントを実行してエラーになった場合か、 Error ステートメントが実行された場合のいずれかです。

実行中の状態は、カレントエラーがある状態かエラーがまったくない状態のいずれかです。カレントエラーは、発生してまだ処理がされていないランタイムエラーです。LotusScript® では、エラーが発生したスクリプトの行番号、エラー番号、エラー番号に関連付けられたメッセージ (存在する場合) が記録されます。このエラーによってエラー処理ルーチンが呼び出されるか、別のエラーが発生しない限り、これらの行番号、エラー番号、メッセージは、それぞれ関数 Erl、Err、Error$ の戻り値です(例外: Err ステートメントを使用すると、Err 関数で返されたカレントエラー番号をリセットできます)。

次に、まずカレントプロシージャ内でそのエラーに関連付けられた On Error ステートメントを検索するか、より一般的には、エラーを「クリア」するために On Error n ステートメントを探します (n はエラー番号)。ステートメントがなければ、エラー番号が指定されていない On Error ステートメントを探します。どちらも見つからないときには、このプロシージャを呼び出したプロシージャがあれば、そこが検索されます。カレントプロシージャ内でエラーを処理するには、そのエラーを参照する実行済みの On Error ステートメントを含む必要があります。呼び出し側のプロシージャの中に関連付けられた On Error ステートメントがない場合は、実行を終了し、関連するエラーメッセージを表示します。

関連付けられた On Error ステートメントが見つかれば、LotusScript は、On Error ステートメントに含まれているコマンドを実行します。