_IEErrorHandlerRegister
Регистрация и включение пользовательского обработчика COM ошибок
#include <IE.au3>
_IEErrorHandlerRegister([$s_functionName = "__IEInternalErrorHandler"])
Параметры
$s_functionName | [необязательный] Строковая переменная с именем функции определяемой пользователем COM обработчика ошибок, по умолчанию используется внутренний обработчик COM ошибок этой UDF |
Возвращаемое значение
Успех: | Возвращает 1 |
Ошибка: | Возвращает 0 и устанавливает @error |
@error: | 0 ($_IEStatus_Success) = Нет ошибок |
1 ($_IEStatus_GeneralError) = Общая ошибка | |
@extended: | Содержит номер неверного параметра |
Примечания
Важно: При использовании собственного обработчика ошибок, используемая переменная объекта ошибки ДОЛЖНА быть названа $oIEErrorHandler (см. пример).См. также
_IEErrorHandlerDeRegister, _IEErrorNotifyПример
; *******************************************************
; Пример 1 - Register and later deregister a custom and the default IE.au3 error handler
; *******************************************************
#include <IE.au3>
; Регистрирует пользовательский обработчик ошибок
_IEErrorHandlerRegister ("MyErrFunc")
; ... Что-то сделать
; Отменяет регистрацию пользовательского обработчика ошибок
_IEErrorHandlerDeregister ()
; ... Сделать что-нибудь другое
; Регистрирует обработчик COM ошибок, который по умолчанию
_IEErrorHandlerRegister ()
; Делать дальнейшую работу
Exit
Func MyErrFunc()
; Важно: переменная объекта ошибки ДОЛЖНА называться $oIEErrorHandler
$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
$ErrorOutput = ""
$ErrorOutput &= "--> COM Error Encountered in " & @ScriptName & @CR
$ErrorOutput &= "----> $ErrorScriptline = " & $ErrorScriptline & @CR
$ErrorOutput &= "----> $ErrorNumberHex = " & $ErrorNumberHex & @CR
$ErrorOutput &= "----> $ErrorNumber = " & $ErrorNumber & @CR
$ErrorOutput &= "----> $ErrorWinDescription = " & $ErrorWinDescription & @CR
$ErrorOutput &= "----> $ErrorDescription = " & $ErrorDescription & @CR
$ErrorOutput &= "----> $ErrorSource = " & $ErrorSource & @CR
$ErrorOutput &= "----> $ErrorHelpFile = " & $ErrorHelpFile & @CR
$ErrorOutput &= "----> $ErrorHelpContext = " & $ErrorHelpContext & @CR
$ErrorOutput &= "----> $ErrorLastDllError = " & $ErrorLastDllError
MsgBox(4096,"COM Error", $ErrorOutput)
SetError(1)
Return
EndFunc ;==>MyErrFunc