Где я могу найти список всех кодов ошибок Windows?

Как насчет:

if (new[] {1, 2}.Contains(value))

Это взломать хотя:)

Или, если вы не возражаете против создания собственного метода расширения, вы можете создать следующее:

public static bool In<T>(this T obj, params T[] args)
{
    return args.Contains(obj);
}

И вы можете использовать его следующим образом:

if (1.In(1, 2))

:)

13
задан Mogsdad 3 July 2015 в 16:02
поделиться

4 ответа

Как правило, вы получите лучшие результаты поиска, если распечатаете номер ошибки в шестнадцатеричной форме, а не в десятичной форме со знаком.

Например, ваша первая ошибка - -1073741819, которая также может быть представлена на 0xC0000005 в шестнадцатеричном формате. Это ошибка "нарушение прав доступа", о чем Google быстро сообщит.

12
ответ дан 1 December 2019 в 17:59
поделиться

Вот их куча,

http://msdn.microsoft.com/en-us/library/ms681381 (VS.85) .aspx

Но когда У меня есть такой, как в вашем примере, я просто набираю номер в Google.

6
ответ дан 1 December 2019 в 17:59
поделиться

Поскольку система кодов ошибок Windows является расширяемой, не существует единого места для поиска всех возможных кодов ошибок Windows. Однако вы можете начать с:

  • Изучите структуру кодов ошибок COM . Иногда знание того, из какого средства исходит ошибка, может помочь вам определить, из какого заголовочного файла она исходит.
  • Visual Studio, начиная с 2003 года, включает инструмент ERRLOOK . Попробуйте сначала, если вы используете Visual Studio.
  • Многие из кодов, с которыми вы столкнетесь, находятся в Winerror.h . Я добавил ссылку на MSDN, которая содержит содержимое этого заголовочного файла. Или вы можете посмотреть список кодов ошибок по номеру на этой странице.
  • В идеале вы знаете, какая функция вернула код, а затем вы можете найти функцию в MSDN и просмотреть все возможные возвращаемые значения . Конечно, вам нужно будет обратиться к Winerror.h или другому файлу заголовка, чтобы получить фактические значения.
  • Вы можете найти (например, Unix grep ) в каталоге Include платформы SDK либо для шестнадцатеричного значения всего кода ошибки, либо для десятичного значения только части кода, то есть младших 16 бит. Используйте HRESULT_CODE , чтобы извлечь это. См. Структуру кодов ошибок COM выше.
  • Существует несколько инструментов поиска ошибок, в которые вы можете вставить значение, и он найдет его в своей базе данных и расскажет, что оно означает. Посмотрите здесь и здесь .
  • Google. Используйте полное шестнадцатеричное значение. Иногда вы найдете очень полезную информацию или, по крайней мере, подсказки.
13
ответ дан 1 December 2019 в 17:59
поделиться

Многие из них (но я не думаю, что те, которые связаны с COM) находятся в файле заголовка с именем winerror.h .

В (некоторых версиях) Visual Studio в меню « Инструменты » вы можете найти пункт меню с именем « Поиск ошибок ... ».

6
ответ дан 1 December 2019 в 17:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: