![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| valent_N |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 9.8.2003 Где: Рига, Латвия Репутация: нет Всего: 1 |
Здравствуйте!
C#-программа должна обрабатывать ошибки с учетом их кода. Какой культурный способ существует для получения кода системной ошибки и сброса ее, аналогично тому, как это позволяют сделать Win32 API-функции GetLastError() и SetLastError(...)? Или, все же, надо вызывать именно их, обеспечив для них соответствующие прототипы? Или же надо прибегнуть к исключению? Как тогда получить из экземпляра исключения код ошибки? - я не смог найти в MSDN такую информацию. Большое Спасибо |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
Посмотрите на метод System.Runtime.InteropServices.Marshal.GetLastWin32Error и класс исключения System.ComponentMode.Win32Exception.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| WTF |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 30.12.2005 Репутация: нет Всего: нет |
Не совсем понятно о каких системных ошибках идет речь. Наиболее распространенные ошибки реализованы в виде исключений (exceptions). Например:
Если стандартные классы исключений по како-то причине тебе не подходят - у класса System.Exception есть свойсво HRESULT который содержит код ошибки. Сбрасывать ошибку не надо. |
|||
|
||||
| Exception |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Это он говорит о стандартных ошибках Win32. Полностью согласен с Void. А вообще не пойму, что мешает пользоваться
? |
||||
|
|||||
| Void |
|
||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
Читай документацию на Marshal.GetLastWin32Error
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
| valent_N |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 9.8.2003 Где: Рига, Латвия Репутация: нет Всего: 1 |
Очень всем признателен за внимание к моему вопросу. Я с Вашей помощью смог разобраться и получить полезную информацию, которую сам не смог найти.
Хотелось узнать, какой метод более рационален. Большущее ВСЕМ СПАСИБО!!! |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
А SetLastError тама разве есть?
|
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
||||
|
||||
| redig |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 19.1.2007 Репутация: нет Всего: нет |
Я так и не понял из этого топика как получить код ошибки. у меня например такая ситуация: Вываливаются ошибки: 14.02.2007 12:05:48|Ошибка OutSocket() : Object reference not set to an instance of an object. 14.02.2007 12:06:46|Ошибка OutSocket() : Удаленный хост принудительно разорвал существующее подключение на одном Exception-e:
Тут говорили про HResult, в MSDN-е не понятно написано, если кто знает, покажите пожалуйста примером как вытащить из Exception-а код ошибки. Это сообщение отредактировал(а) redig - 14.2.2007, 06:48 |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |