Функция GetLastError

Declare Function GetLastError Lib "kernel32" () As Long

GetLastError возвращает код ошибки, который происходит при вызове последней вызываемой функции. Большинство функций API просто возвращают номер кода ошибки, ничего не сообщая о характере ошибки. Эта функция возвращает универсальный код ошибки, определяя его тип. Обратите внимание, что многие функции устанавливают код ошибки в ноль, если функция сработала успешно, удаляя предыдущий код ошибки. Таким образом, нужно немедленно определять код ошибки при его возникновении. Для получения описания кода ошибки используйте функцию FormatMessage.

Пример

' Демонстрация обнаружения ошибки
' неверного определения описателя
Dim retval As Long ' возвращаемое значение
Dim errorcode As Long ' код ошибки

' делаем неправильное обращение к функциии, используя 
' неверный описатель
retval = CloseHandle(-1) ' нет описателя -1!
If retval = 0 Then  ' возвращаемое значение равно 0 при возникновении ошибки
  errorcode = GetLastError() ' находим код ошибки
' ошибка 6 = Неверный описатель
  If errorcode = 6 Then Debug.Print "ОШИБКА: Неверный описатель" 
End If

Смотри также

CommDlgExtendedError, FormatMessage, SetLastError, SetLastErrorEx

Категория

Ошибки