Другие языки программирования и технологии

У кого нибудь есть таблица описания кода ошибкок в Delphi (C++ Builder)?

Функция GetLastError возвращает код ошибки, хотелось бы узнать об этих ошибках по подробней...
в C++Builder 6 ( в других не знаю, не юзал) есть заголовочный файл winerror.h. где лежит - не помню. можно просто в окне редактора написать winerror.h, кликнуть правой кнопкой и нажать Open File at Cursor - и он откроется.
в файле объявляются дефайном символические константы для кодов ошибок, рядом с каждым кодом есть коммент-описание ошибки на английском.

успехов.
НА
Навруз Ашуров
2 500
Лучший ответ
Об обработке ошибок Win32 Рихтер пишет в своём programming win32.
UPD: Сука, форматер ссылки пожрал. В гугол с запросом "error lookup". Пятая ссылка сверху, в частности.
Участок Медеу
Участок Медеу
9 617
Чтобы получить строку для кодов системных ошибок, используйте функцию FormatMessage. За полным перечнем кодов ошибок, предусмотренных операционной системой, см. статью Коды системных ошибок.
Возвращаемые функцией коды ошибок не являются частью спецификации Windows API и могут различаться в операционных системах или драйверах устройств. По этой причине, имеются функции, документация на которые не включает в себя список кодов ошибок, которые могут быть возвращены.

Вы должны вызвать функцию GetLastError непосредственно тогда, когда величина возвращаемого значения функции указывает, что такой вызов даст вам полезную информацию. Это делается потому, что некоторые функции, когда они завершаются успешно, вызывают функцию SetLastError с нулем, чтобы ликвидировать код ошибки установленный самой последней неудавшейся функцией.

Большинство функций, которые устанавливают последнее значение кода ошибки потока, устанавливает его тогда, когда они завершаются ошибкой; несколько функций устанавливают код ошибки, когда они завершаются успешно. Функция, которая завершилась сбоем, обычно указывается кодом ошибки величины возвращаемого значения типа нуля, ПУСТО (NULL) или - (минус) 1. Некоторые функции вызывают SetLastError при условии успешного завершения; на такие случаи обращается внимание в статьях справочника для каждой функции.

Коды Ошибки - это 32-разрядные значения (бит 31 - старший значащий бит) . Бит 29 зарезервирован для определяемых программой кодов ошибок; нет ни одного кода системных ошибок, которые бы имели установленным этот бит. Если Вы определяете код ошибки для своего приложения, устанавливайте этот бит в единицу. Это указывает, что код ошибки был задан прикладной программой и гарантирует, что ваш код ошибки не войдет в противоречие с любыми кодами ошибок, определенными системой.

Чтобы преобразовывать системную ошибку в значение HRESULT, используйте макрокоманду HRESULT_FROM_WIN32.
Сергей Пучков
Сергей Пучков
6 180
Попробуйте FormatMessage
Советовали тут уже несколько раз, вот решение:
Х.
Хищник .
108