3

我正在处理的对象在 JavaScript 中实例化,但在 VBScript 中使用。在一个代码路径中,变量M.DOM.IPt被定义并具有一个值,而在另一个代码路径中却没有。我需要检测它是否已被定义。我检查了M.DOM在两个代码路径中都定义和可访问的。我尝试过的每个测试都只会导致此错误:

错误:对象不支持此属性或方法

我试过了:

  • IsEmpty(M.DOM.IPt)
  • M.DOM.IPt is Nothing
  • isNull(M.DOM.IPt)

有什么方法可以检测未定义变量并避免错误?

注意:我可以On Error Resume Next输入,它会简单地忽略错误,但我实际上需要检测它并有条件地做一些事情。

4

3 回答 3

2
    函数 SupportsMember(object, memberName)
      出错时继续下一步

      暗淡 x
      eval("x = object."+memberName)

      如果 Err = 438 那么
        SupportsMember = 假
      别的
        SupportsMember = 真
      万一

      On Error Goto 0 '清除错误
    结束功能
于 2008-10-30T17:54:49.717 回答
1
On Error Resume Next
Err.Clear
MyVariable=M.DOM.Ipt
If Err.Number<> 0 Then
    'error occured - Ipt not defined
    'do your processing here
Else
    'no error - Ipt is defined
    'do your processing here
End If
于 2008-10-30T17:48:48.840 回答
0

您是否尝试过 On Error Goto 标签?

于 2008-10-30T17:32:41.510 回答