1

Тема: AHK: обработка ошибки WinHttpRequest

Доброго времени суток.

Код AHK:


Unserver(Inquiry)
{
   Process, Exist, unserver.exe
   ; ToolTip, ErrorLevel: %ErrorLevel%, 1000, 30, 10
   If ((ErrorLevel = 0) or (ErrorLevel = ""))
      Return "Service temporary unavailable"
   
   whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
   whr.Open("GET", Inquiry, true)				; Inquiry = http://localhost:9000/tags/%UnserverTag%
   whr.Send()
   whr.WaitForResponse()
   Return whr.ResponseText
}

Функция отправляет Http запрос к unserver.exe, работающему в качестве фонового сервиса и ожидает ответа.
Проблема в том, что сервис время от времени оказывается недоступен - остановлен, перезагружается и т.п. В такие моменты выскакивает окно с сообщением об ошибке, требующее вмешательства пользователя. А этого нельзя допускать, так как скрипт работает на удаленной машине.
Большую часть таких случаев я перехватываю при помощи Process, Exist. Однако, некоторая вероятность сообщения об ошибке остается по причине долгого ожидания ответа от сервера - свыше 1 секунды - и есть вероятность того,что служба остановится во время ожидания. 

Вопрос: как перенаправить сообщение об ошибке от WinHttpRequest в для нормальной обработки?

В WinHttpRequest существует событие OnError, но примеров с ним как-то не нашел. Буду благодарен за помощь или направление, где искать

2

Re: AHK: обработка ошибки WinHttpRequest

Через try-catch должно отловиться.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

3

Re: AHK: обработка ошибки WinHttpRequest

teadrinker, отловилось. Спасибо.

4

Re: AHK: обработка ошибки WinHttpRequest

http://forum.script-coding.com/viewtopic.php?id=11183

Win7x64 up to 2018, AutoHotkey 1.1.30.00