カレントプロシージャ内でのエラー処理の方法を決定します。
On Error [ errNumber ] { GoTo label | Resume Next | GoTo 0 }
errNumber
オプション。Integer 型のエラー番号を示す数式です。この要素を省略すると、ステートメントはカレントプロシージャ内のすべてのエラーを指します。この値では、On Error ステートメントに到達した時点で LotusScript® で定義されているすべてのエラー番号を指定できます。
GoTo label
エラーが発生したときに label で始まるエラー処理ルーチンに制御を移すように指定します。エラーは処理されたとみなされます。
Resume Next
エラーが発生したときに、エラーの発生したステートメントの次のステートメントから処理を再開するように指定します。エラー処理ルーチンは実行されません。Err、Erl、Error 関数の値はリセットされません。Resume ステートメントでは、これらの値がリセットされます。エラーは処理されたとみなされます。
GoTo 0
errNumber が指定された状態でエラーが発生したときに、エラー番号を指定しない最新の汎用 On Error ステートメントによってエラーが処理されるように指定します。
errNumber を省略すると、カレントプロシージャ内で処理されるエラーはなくなります。
On Error ステートメントは実行ステートメントです。このステートメントを含むプロシージャは、特定のエラーに対する LotusScript の処理方法を変更できます。On Error ステートメントを使用しなければ、通常のエラーで実行が終了されます。On Error を使用すると、プロシージャによってエラーが処理され、適切に処理が再開されます。
On Error ステートメントの有効期間は、次のようにステートメントの実行時から別の On Error ステートメントが取って代わるまで、または呼び出し元のプロシージャに制御が戻るまでです。
例えば、次のコードを使用すると、エラー 11 が DivBy0 ラベルに、その他すべてのエラーが General ラベルに送られます。
On Error Goto General
On Error 11 Goto DivBy0
ただし、ステートメントの順番を逆にした場合には、すべてのエラーが General ラベルに送られます。
On Error 11 Goto DivBy0
On Error Goto General
次のステートメントを使用すると、エラー 11 が General ラベルに送られます。
On Error Goto General
On Error 11 Goto 0
エラー処理ルーチンはラベルで指定されたステートメントから始まります。エラー処理ルーチンは、LotusScript が Resume、Exit Sub、Exit Property、Exit Function のいずれかのステートメントを検出した時点で終了します。エラー処理ルーチン内でエラーが発生した場合は実行が終了します。
エラー処理ルーチンの処理中は、Err、Erl、Error 関数が処理をしているエラー処理ルーチン中のエラーを返します。Resume ステートメントはこれらの値をリセットします。
LotusScript では、一般的なエラーとそれに対応するエラー番号 (定数) がファイル lserr.lss に指定されています。これらのエラーと番号を定義するには、スクリプトを実行する前に、コンパイルまたはロードするスクリプトに %Include を使用してこのファイルを取り込みます。これで、On Error ステートメントでこれらのエラー番号を使用してセッション内のエラー処理を制御できるようになります。
Error ステートメントで新しいエラー番号とエラーメッセージを定義できます。