Что нового

[Ошибки] Обработка ошибок COM-объектов

RUVATA

лучше один раз увидеть, чем десять раз услышать...
Сообщения
132
Репутация
38
Всем доброго времени суток...
Тема изъезженная и всё-же... "классика жанра здесь не подходит" ;
В скрипте используется COM-объект, в нем и происходит ошибка, и никаких @error он не инициирует

Код:
$oHTTP.Open("POST", 'http://localhost:8000', False)

			$oHTTP.SetRequestHeader("Content-Type", "multipart/form-data; boundary=xXxXXxxxX")
			$oHTTP.SetRequestHeader("User-Agent", "Msxml2.XMLHTTP.6.0")
			$oHTTP.SetRequestHeader("Tagert", 'connection')
			$oHTTP.Send('Something text')
			$ResponseText = $oHTTP.responseText

Ежели конечный сервер недоступен -
$oHTTP.Send('Something text')^ERROR (вываливаемся в ошибку)
как-же перехватить ?


Добавлено:
Сообщение автоматически объединено:

Решение
Код:
;Установка функции перехвата COM-ошибок
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")
; ...

;Обработчик COM-ошибок
Func MyErrFunc()
    SetError($oMyError.number)
    Return $oMyError.description
Endfunc
 
Автор
R

RUVATA

лучше один раз увидеть, чем десять раз услышать...
Сообщения
132
Репутация
38
Return $oMyError.description
может кто и разберется... но лично у меня такой трюк не прокатил...
а дело в том, что результат выполнения этой функции каким-бы он ни был (а при инициализации объекта $oMyError функция уже отрабатывает один раз, можете проверить запихнув в него MsgBox)
А самое интересно, повторюсь что каким-бы он ни был он будет удовлетворять первому-же условию любого блока If/Else или Select/Case
 
Верх