-
Автор темы
- #1
Небольшой гайд по самостоятельному решению проблем с выполнением тех или иных действий в С++
Пример:
Допустим при попытке получить дескриптор объекта мы видим текст такого содержания:
То есть Мы, без всяких колдовских приспособ, сразу знаем почему наша программа не работает.
Код:
DWORD GetLastError(VOID);
как использовать? Все очень просто!Функция GetLastError извлекает значение кода последней ошибки вызывающего потока. Код последней ошибки сохраняется при посредстве базового компонента потока. Многие потоки не записывают поверх друг друга коды последней ошибки.
Пример:
Код:
HANDLE hHandle = GetHandleObject("MyFile"); //функция возвращает дескриптор объекта
/*если хендл не валиден*/
if (hHandle == INVALID_HANDLE_VALUE)
{
/*выводим информацию, что не удалось получить дескриптор объекта и номер ошибки
printf_s("Error::INVALID_HANDLE_VALUE. ErrorCode = %d \n", GetLastError());
}
В данном случаи у нас код ошибки 2, что соответствует: Не удается найти указанный файл.Error::INVALID_HANDLE_VALUE. ErrorCode = 2
То есть Мы, без всяких колдовских приспособ, сразу знаем почему наша программа не работает.
Пожалуйста, авторизуйтесь для просмотра ссылки.