Обнаружить «Ошибка: объект не поддерживает это свойство или метод» - PullRequest
3 голосов
/ 30 октября 2008

Объект, над которым я работаю, создается в JavaScript, но используется в VBScript. В одном пути кода переменная M.DOM.IPt определена и имеет значение, а в другом - нет. Мне нужно определить, было ли это определено или нет. Я проверил, что M.DOM определено и доступно в обоих путях кода. Каждый тест, который я пробовал, просто приводит к этой ошибке:

Ошибка: объект не поддерживает это свойство или метод

Я пробовал:

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

Есть ли способ обнаружить, что переменная не определена, и избежать ошибки?

Примечание: я могу ввести On Error Resume Next, и он просто проигнорирует ошибку, но мне действительно нужно ее обнаружить и условно что-то с ней сделать.

Ответы [ 3 ]

2 голосов
/ 30 октября 2008
    Function SupportsMember(object, memberName)
      On Error Resume Next

      Dim x
      Eval("x = object."+memberName)

      If Err = 438 Then 
        SupportsMember = False
      Else 
        SupportsMember = True
      End If

      On Error Goto 0 'clears error
    End Function
1 голос
/ 30 октября 2008
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
0 голосов
/ 30 октября 2008

Вы пробовали при ошибке Перейти к ярлыку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...