Обработка ошибок в VB.NET
Проверка ошибок и обработка исключений
До настоящего момента мы делали вид, что в наших программах ошибок не бывает. Но даже в самой надежной программе иногда возникают непредвиденные ситуации – например, такие, как потеря сетевого соединения или отсутствие бумаги в принтере.Подготовка к структурной обработке исключений
Прежде чем переходить к примерам, демонстрирующим обработку исключений на практике, необходимо познакомиться с некоторыми обстоятельствами. Во-первых, при структурной обработке исключений в программу включается дополнительная ветвь, которая автоматически выполняется при возникновении каких-либо аварийных ситуаций.Анализ исключений. Наличие нескольких секций Catch.
Следующим шагом должен быть перехват и последующий анализ исключения. Для этого команда Catch приводится к следующему виду: | Catch excep As Exception | (Имя может быть любым, поскольку упоминание в заголовке секции Catch считается объявлением переменной).Инициирование исключений
Выше уже говорилось о том, что метод ProcessFilе просто передает исключение в процедуру Sub Main, из которой он был вызван. В процедуре Sub Main команда вызова тоже заключена в блок Try-Catch, поэтому исключение будет обработано.Иерархия исключений. Исключения как замена для goto.
Мы создали новый класс исключений, производный от IOException, потому что потенциальная проблема явно относилась к категории ввода-вывода. Допустим, ситуация имеет более общий характер и для базового класса не существует других очевидных кандидатов, кроме класса Exception.Секция Finally. Рекомендации по использованию исключений.
При использовании блоков Try-Catch нередко существует код, который должен выполняться как при нормальном завершении, так и при возникновении исключения. Например, в обоих случаях следует закрыть файлы, вызвать методы Dispose и т. д.