On Error ステートメント (LotusScript 言語)

カレントプロシージャ内でのエラー処理の方法を決定します。

構文

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 ステートメントの有効期間は、次のようにステートメントの実行時から別の 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 ステートメントで新しいエラー番号とエラーメッセージを定義できます。

クロスリファレンス

式言語の @Error 関数

式言語の @Failure 関数


追加の資料 | 商標 (英語) |