这可能只是一厢情愿的想法......

有没有什么办法来检查,看是否ASP / VBScript函数是调用之前定义的?

有帮助吗?

解决方案

这是一个稍微哈克的方式,因为它依赖于具有设置为“On错误继续下一步”做到这一点,但你可以做这样的事情:

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)。然后,可以检查是否如预期的基准设定。

其他提示

下面是我的解决方案,它在相同的原理工作,但哈克岬是很好的自我包含的:

Function FunctionExists( func_name )
    FunctionExists = False 

    On Error Resume Next

    Dim f : Set f = GetRef(func_name)

    If Err.number = 0 Then
        FunctionExists = True
    End If  
    On Error GoTo 0

End Function 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top