- 次の例は、最も簡単なエラー処理プログラムの例です。最初のステートメントはすべてのエラーの処理プログラムを確立します。この処理プログラムはエラー番号とメッセージを出力して終了します。ユーザーが存在しないファイル名を入力すると、「Set dc = db.AllDocuments」の部分でエラーが発生します。
Sub Initialize
On Error Goto processError
Dim dc As NotesDocumentCollection
Dim db As New NotesDatabase("", _
Inputbox("Database?"))
Set dc = db.AllDocuments
Exit Sub
processError:
Messagebox "Error " & Err() & ": " & Error()
Exit Sub
End Sub
- 次の例は、誤ったファイル名を指定したために開いていない NotesDatabase オブジェクトを使おうとしたときに発生するエラーをトラップします。また、他のエラーも処理します。ユーザーが誤った名前を入力した場合、エラー処理プログラムはユーザーに再試行かキャンセルを選択させます。再試行の場合は、このエラー処理プログラムは Open メソッドを呼び出して、メインのコードの実行を再開します。
(Declarations)
%INCLUDE "lsconst.lss"
%INCLUDE "lsxbeerr.lss"
Sub Initialize
On Error Goto processError
On Error lsERR_NOTES_DATABASE_NOTOPEN _
Goto processNotOpen
Dim dc As NotesDocumentCollection
Dim db As New NotesDatabase("", Inputbox("Database?"))
Set dc = db.AllDocuments
Exit Sub
processNotOpen:
reply = Messagebox _
("Database name is wrong", MB_RETRYCANCEL)
If reply = IDRETRY Then
Call db.Open("", Inputbox("Database?"))
再開
Else
Messagebox "Error " & Err() & ": " & Error()
Exit Sub
End If
processError:
Messagebox "Error " & Err() & ": " & Error()
Exit Sub
End Sub
- 次の例は、New メソッドと IsOpen プロパティの結果をテストします。
(Declarations)
%INCLUDE "lsconst.lss"
Sub Initialize
Dim dc As NotesDocumentCollection
Dim db As New NotesDatabase("", _
Inputbox("Database?"))
Do While Not db.IsOpen
reply = Messagebox _
("Database name is wrong", MB_RETRYCANCEL)
If reply = IDRETRY Then
Call db.Open("", Inputbox("Database?"))
Else
Messagebox "Database can't be opened"
Exit Sub
End If
Loop
Set dc = db.AllDocuments
End Sub
- 次の例は、戻り値を調べて Open メソッドの結果をテストします。
(Declarations)
%INCLUDE "lsconst.lss"
Sub Initialize
Dim dc As NotesDocumentCollection
Dim db As New NotesDatabase("", "")
Do While Not db.Open("", Inputbox("Database?"))
reply = Messagebox _
("Database name is wrong", MB_RETRYCANCEL)
If reply <> IDRETRY Then
Messagebox "Database can't be opened"
Exit Sub
End If
Loop
Set dc = db.AllDocuments
End Sub