-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Как обрабатывать ошибки _IECreate?
Скрипт работает с формами в веб браузере, продолжительное время. Иногда бывает, что соединение рвётся, или сервер лежит, или ещё какой-либо сбой. В общем,страница не загружается. Тогда скрипт останавливается на одном месте, видимо, не находя нужных элементов.
Нашёл вот такое описание:
Код:
Also, perhaps you ought to take a look into the _IECreate return values..
@Error: 0 ($_IEStatus_Success) = No Error
1 ($_IEStatus_GeneralError) = General Error
3 ($_IEStatus_InvalidDataType) = Invalid Data Type
4 ($_IEStatus_InvalidObjectType) = Invalid Object Type
6 ($_IEStatus_LoadWaitTimeout) = Load Wait Timeout
8 ($_IEStatus_AccessIsDenied) = Access Is Denied
Не пойму, как это использовать.
|
Не уверен - может так.
Код:
#include <IE.au3>
Switch _IECreate ("www.autoitscript.com", 1)
Case $_IEStatus_GeneralError
MsgBox(0, Default, "General Error")
Case $_IEStatus_InvalidDataType
MsgBox(0, Default, "Invalid Data Type")
Case $_IEStatus_InvalidObjectType
MsgBox(0, Default, "Invalid Object Type")
Case $_IEStatus_LoadWaitTimeout
MsgBox(0, Default, "Load Wait Timeout")
Case $_IEStatus_AccessIsDenied
MsgBox(0, Default, "Access Is Denied")
EndSwitch
|
Я другой способ нашёл:
Код:
_IEErrorHandlerRegister ("MyErrFunc") ; Устанавливаем перехватчик COM-ошибок
; Программа
Func MyErrFunc()
$ErrorScriptline = $oIEErrorHandler.scriptline
$ErrorNumber = $oIEErrorHandler.number
$ErrorNumberHex = Hex($oIEErrorHandler.number, 8)
$ErrorDescription = StringStripWS($oIEErrorHandler.description, 2)
$ErrorWinDescription = StringStripWS($oIEErrorHandler.WinDescription, 2)
$ErrorSource = $oIEErrorHandler.Source
$ErrorHelpFile = $oIEErrorHandler.HelpFile
$ErrorHelpContext = $oIEErrorHandler.HelpContext
$ErrorLastDllError = $oIEErrorHandler.LastDllError
TrayTip("Ошибка " & $ErrorNumber & " в строке " & $ErrorScriptline, $ErrorDescription & @CRLF & $ErrorWinDescription & ............................., 5, 3)
;SetError(1)
Return
Endfunc
|
Время: 12:20.
© OSzone.net 2001-