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

E-mail Печать PDF
Рейтинг пользователей: / 0
ХудшийЛучший 

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

Ошибки / Errors

 
 

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

Любой объект, представляющий исключение, принадлежит классу System.Exception или классу, производному от него. Например, функция FileOpen() при ошибке «файл не найден» генерирует исключение IOException (класс IOException производный от System.Exception), а при делении на нуль генерируется DivideByZeroException. Пользователь может создавать свои исключения.

Свойства класса System.Exception

Свойство

Описание

HelpLink

Позволяет получить подробную справочную информацию.

Message

Описание происшедшего исключения.

Конструкция Try-Catch используется для обработки исключений.

Try

Код, работу которого нужно протестировать

Catch

Инструкции на случай возникновения ошибок

End Try        ‘Из блока Try можно выйти командой Exit Try

Секция Try блока Try-Catch содержит «правильный» код.

Секция Catch вызывается при возникновении исключения. Чтобы выполнялся перехват и анализ исключения, команда Catch приводится к виду: Catch excep As Exception. Объект исключения, на который ссылается ехсер, заполняется данными.

Секции Try может соответствовать несколько секций Catch. Каждая из них перехватывает определенную категорию исключений. Обнаружив подходящую секцию Catch, VB выполняет ее, игнорируя остальные секции Catch. При этом любой объект, принадлежащий классу, производному от System.Exception, также является объектом класса System.Exception, поэтому порядок описания Catch блоков важен. Например, сначала должен следовать блок Catch х As System.IO.IOException, а затем Catch x As System.Exception

В VB .NET секция Catch может дополняться условием When, расширяющим возможности ее применения. Catch badnameException When theName = String.Empty

Если исключение не было обработано, выводится сообщение с описанием исключения и содержимое стека с информацией обо всех вызванных методах.

Для самостоятельного создания исключения используется оператор Throw:

Throw New Exception() 'сгенерировать исключение типа Exception

Throw New Ехсерtiоn(«Ошибка!») 'исключение с параметром «Ошибка!»

Чтобы некоторый фрагмент выполнялся независимо от того, возникнет ли исключение или нет, в блок Try-Catch включается секция Finally. Например, файлы должны быть закрыты независимо от способа выхода из программы.

В VB .NET также поддерживается оператор OnError и объект Err.

 

 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий:

Комментарии

Интересное




Похожие материалы

Партнёры