Mat*_*ole 14 vbscript function asp-classic defined
这可能只是一厢情愿的想法......
有什么方法可以在调用之前检查是否定义了ASP/VBScript函数?
Tri*_*ick 15
这是我的解决方案,它的工作原理相同,但hacky-ness非常独立:
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
Run Code Online (Sandbox Code Playgroud)
这是一个有点hacky的方式,因为它依赖于设置"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
Run Code Online (Sandbox Code Playgroud)
如果您尝试获取指针的子或函数不存在,则对GetRef的调用将生成异常(如此处使用DoStuff2的情况).然后,您可以检查引用是否按预期设置.