15

これはおそらくただの希望的観測です...

ASP/VBScript 関数を呼び出す前に定義されているかどうかを確認する方法はありますか?

4

3 に答える 3

6

「On Error Resume Next」の設定に依存しているため、少しハックな方法ですが、次のようにすることもできます。

On Error Resume Next
Dim objRef1, objRef2
Set objRef1 = GetRef("DoStuff1")
If objRef1 Is Nothing Then
    Call objRef1
Else
    MsgBox "DoStuff1 is not defined!"
End If

Set objRef2 = GetRef("DoStuff2")
If objRef2 Is Nothing Then
    MsgBox "DoStuff2 is not defined!"
Else
    Call objRef2
End If

Sub DoStuff1
    MsgBox "DoStuff1!"
End Sub

ポインターを取得しようとしているサブルーチンまたは関数が存在しない場合、GetRef を呼び出すと例外が生成されます (DoStuff2 の場合のように)。その後、参照が期待どおりに設定されたかどうかを確認できます。

于 2009-05-28T15:27:23.473 に答える