Учимся самостоятельно решать проблемы

Эксперт
Статус
Оффлайн
Регистрация
12 Июн 2014
Сообщения
999
Реакции[?]
1,209
Поинты[?]
3K
Небольшой гайд по самостоятельному решению проблем с выполнением тех или иных действий в С++
Код:
DWORD GetLastError(VOID);
Функция GetLastError извлекает значение кода последней ошибки вызывающего потока. Код последней ошибки сохраняется при посредстве базового компонента потока. Многие потоки не записывают поверх друг друга коды последней ошибки.
как использовать? Все очень просто!

Пример:
Код:
HANDLE hHandle = GetHandleObject("MyFile"); //функция возвращает дескриптор объекта

/*если хендл не валиден*/
if (hHandle == INVALID_HANDLE_VALUE)
{
    /*выводим информацию, что не удалось получить дескриптор объекта и номер ошибки
    printf_s("Error::INVALID_HANDLE_VALUE. ErrorCode =  %d \n", GetLastError());
}
Допустим при попытке получить дескриптор объекта мы видим текст такого содержания:
Error::INVALID_HANDLE_VALUE. ErrorCode = 2
В данном случаи у нас код ошибки 2, что соответствует: Не удается найти указанный файл.
То есть Мы, без всяких колдовских приспособ, сразу знаем почему наша программа не работает.

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Сверху Снизу