Обработка ошибок.

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

фон
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 09.04.2009 (Чт) 9:13

Обработка ошибок.

Сообщение фон » 09.04.2009 (Чт) 9:38

Здравствуйте.
Хочу задать вопрос по обработке ошибок в программах на .Net.
Разрабатываю ряд классов. В этих классах разумеется имеется множество проверок, в частности на корректность данных, часть результатов проверок предсказуема. Хотел воспользоваться "новой возможностью" Try .... Catch ... Finally ... End Try.
Однако, внимательно изучив документацию понял, что Microsoft настоятельно не рекомендует употреблять указанный механизм "где попало", а использовать механизм исключений только там, где исключение может возникнуть неожиданно !!
С другой стороны, в документации указано, что имеются "нестыковки" с совместимостью ранее используемого в VB6 механизма
On Error Goto (то же, с использованием объекта Err). Каких либо иных механизмов обработки ошибок уровня приложения, в том числе и самостоятельно "генерируемых" программистом, мне не удалось найти, в частности напрямую обращаться к функциял API в документации запрещается .....
Постолько я не так давно перешел на .Net, хочу спросить совета "знатоков", какой метод использовать ??
Либо может быть есть еще какие-то методы программного создания/обработки ошибок ??
Либо, может быть тупо самостоятельно написть какой-нибудь класс Error для "собственных нужд" ?? :?: :roll:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: Обработка ошибок.

Сообщение RayShade » 09.04.2009 (Чт) 9:40

А что мешает использовать try/catch? Это типа, по моему отличнный метод.
I don't understand. Sorry.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Обработка ошибок.

Сообщение Williams » 09.04.2009 (Чт) 10:16

Юзай такую обработку ошибок. Только не скрывай ошибки, если разрабатываешь dll - поймал - перебрасывай с InnerException. В противном случае затруднишь отладку пользователям.
И вы думаете, что вас оставят в живых после прочтения этого поста?

R3G
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 22.04.2009 (Ср) 7:15

Re: Обработка ошибок.

Сообщение R3G » 04.05.2009 (Пн) 21:57

У меня такая проблема:
как можно добиться игнорирования ошибок в цикле for...next, в моём случае посылается POST-запрос на ресурс который не доступен и выскакивает ошибка, и всё, работа цикла прекращается, выполняется действие после "Catch", как можно избежать подобных ошибок, чтобы программа просто пропустила этот ресурс и продолжила работу дальше(чтобы не прекращалась работа цикла)?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Обработка ошибок.

Сообщение Nord777 » 04.05.2009 (Пн) 22:22

После Catch ничего не пиши, тогда будет игнор, но лучше вынеси отправку запросов в отдельный поток.
Код: Выделить всё
      Dim a As Integer
      Try
         For i As Integer = 0 To 10
            a = 10 \ i
         Next
      Catch
      End Try
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19

    TopList