К Т П           План занятия                                                              1                                           Страницы  | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 |

6. Обработка ошибок в Windows

Большинство функций Win32 API возвращают код, по которому можно определить, как завершилась функция: успешно или нет. Если функция завершилась неудачей, то код возврата обычно равен FALSE, NULL или - 1. В этом случае функция Win32 API также устанавливает внутренний код ошибки, который называется кодом последней ошибки (last-error code) и поддерживается отдельно для каждого потока. Чтобы получить код последней ошибки, нужно вызвать функцию GetLastError, которая имеет следующий прототип:
  DWORD GetLastError(VOID);
Эта функция возвращает код последней ошибки, установленной в потоке. Установить код последней ошибки в потоке можно при помощи функции SetLastError, имеющей следующий прототип:
VOID SetLastError(
  DWORD dwErrCode // код ошибки
);

Чтобы получить сообщение, соответствующее коду последней ошибки, необходимо использовать функцию FormatMessage, которая имеет следующий прототип:
DWORD FormatMessage(
  DWORD dwFlags, // режимы форматирования
  LPCVOID IpSource, // источник сообщения
  DWORD dwMessageld, // идентификатор сообщения
  DWORD dwLanguageld, // идентификатор языка
  LPTSTR lpBuffer, // буфер для сообщения
  DWORD nSize, // максимальный размер буфера для сообщения
  va list *Arguments // список значений для вставки в сообщение
) ;

 

 


Предыдущая        В начало страницы       Следующая
6