Практическое руководство. Фильтрация ошибок в блоке Catch в Visual Basic
Обновлен: Ноябрь 2007
Операторы Catch позволяют фильтровать ошибки множеством способов. Один из методов фильтрации — по типам исключений. В таких случаях важно идти от наиболее конкретных типов исключений к наиболее общим, так как операторы Catch выполняются в порядке следования.
Для фильтрации с использованием условных выражений (например, по определенному номеру ошибки) можно использовать оператор When. Можно также сочетать оба подхода.
![]() |
---|
Доступные в диалоговых окнах параметры, а также названия и расположение команд меню могут отличаться от описанных в справке в зависимости от текущих параметров или версии среды. При написании этой страницы справки имелось в виду окно Общие параметры разработки. Для изменения параметров в меню Сервис выберите пункт Импорт и экспорт параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Фильтрация по типу исключения
Вставьте оператор Catch для каждого типа исключения, который вы хотите проверить, переходя от наиболее конкретных к наиболее общим.
Try Throw New Exception Catch ex As System.IO.IOException ' Code reacting to IOException Catch ex As System.NullReferenceException ' Code reacting to NullReferenceException Catch ex As Exception ' Code reacting to any exception End Try
Фильтрация по условным выражениям
Для фильтрации по условному выражению используйте оператор Catch When. Если результатом вычисления условного выражения является True, будет выполнен код следующего блока Catch.
Try ' Code goes here. ' Check for type mismatch error. Catch ex As Exception When Err.Number = 5 ' Code reacting to exception. End Try
См. также
Задачи
Практическое руководство. Проверка наличия у исключения вложенного исключения
Устранение неполадок при обработке исключений
Основные понятия
Обработка исключений (для пользователей Visual Basic 6.0)
Выбор между структурной и неструктурной обработкой исключений
Ссылки
Оператор Try... Catch... Finally (Visual Basic)