kumarravishankar Ответов: 2

Как получить код eccor, например 0x80131904 в C#


Я хочу узнать код ошибки в исключении c#, например - 0x80131904,
например, сообщение
экс.Свойство innerexception
экс.Источник
экс.Трассировка стека

но нужно получить код ошибки

Что я уже пробовал:

например, сообщение
экс.Свойство innerexception
экс.Источник
экс.Трассировка стека

2 Ответов

Рейтинг:
2

OriginalGriff

Исключения не имеют кодов ошибок - коды ошибок-это гораздо более старый, менее дружественный и менее гибкий способ сообщить о проблеме с приложением.
В прежние времена приложения были намного меньше, а пространство было на высоте - поэтому ошибка помещалась в компактное пространство - 32 бита - и в результате была "просто числом" - чтобы представить это пользователю понятным способом, таблица поиска (обычно из файла) использовалась для получения читаемой человеком строки из кода ошибки.

Современные языки, такие как C#, работают с исключениями, основанными на классах и содержащими читаемые человеком (в основном) строки, готовые к непосредственному отображению пользователю.
Исключения бывают разных типов: исключение-это базовый класс, но вы можете поймать SqlException, ApplicationException и целый ряд других "сгруппированных" исключений, чтобы сделать ваш код более удобным и более читаемым.

Нет никакой системы для преобразования исключения в код ошибки.


kumarravishankar

если это может быть код исключения, то как я могу его найти ?.

Dave Kreskowiak

МММ...это не совсем так. Большинство исключений коренятся в ошибках Windows. За исключениями по-прежнему устанавливаются коды ошибок. Проверьте свойство Hresult объекта исключения.

Рейтинг:
1

Jochen Arndt

Если у вас есть с# Класс Исключений (System)[^ например, использовать Исключение.Свойство HResult (Система)[^] чтобы получить код ошибки.