Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как обрабатывать ошибки _IECreate?

Ответить
Настройки темы
Как обрабатывать ошибки _IECreate?

Новый участник


Сообщения: 30
Благодарности: 4

Профиль | Отправить PM | Цитировать


Скрипт работает с формами в веб браузере, продолжительное время. Иногда бывает, что соединение рвётся, или сервер лежит, или ещё какой-либо сбой. В общем,страница не загружается. Тогда скрипт останавливается на одном месте, видимо, не находя нужных элементов.
Нашёл вот такое описание:
Код: Выделить весь код
 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
Не пойму, как это использовать.

Отправлено: 21:48, 17-11-2010

 

Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Не уверен - может так.
Код: Выделить весь код
#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

Отправлено: 12:11, 19-11-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 30
Благодарности: 4

Профиль | Отправить PM | Цитировать


Я другой способ нашёл:
Код: Выделить весь код
_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:17, 19-11-2010 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Как обрабатывать ошибки _IECreate?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Функция _IECreate, проблема с переполнением памяти u-Art AutoIt 3 26-03-2010 18:53
[решено] _IECreate("Url", Default, 0) Узнать процент загрузки страницы при скрытом окне IE FlatX007 AutoIt 2 13-10-2009 12:05
[решено] Как активировать окно, имея указатель $obj, где $obj=_IECreate() ? evg64 AutoIt 3 20-09-2009 22:32
[решено] Можно ли как-нибудь обрабатывать фатальные ошибки в скрипте? evg64 AutoIt 5 16-09-2009 22:58
С++: читать Dos-866 файл, обрабатывать данные ... netomaN Программирование и базы данных 2 14-05-2008 15:41




 
Переход