Поделиться через


Практическое руководство. Фильтрация ошибок в блоке Catch в Visual Basic

Обновлен: Ноябрь 2007

Операторы Catch позволяют фильтровать ошибки множеством способов. Один из методов фильтрации — по типам исключений. В таких случаях важно идти от наиболее конкретных типов исключений к наиболее общим, так как операторы Catch выполняются в порядке следования.

Для фильтрации с использованием условных выражений (например, по определенному номеру ошибки) можно использовать оператор When. Можно также сочетать оба подхода.

79dh1480.alert_note(ru-ru,VS.90).gifПримечание.

  Доступные в диалоговых окнах параметры, а также названия и расположение команд меню могут отличаться от описанных в справке в зависимости от текущих параметров или версии среды. При написании этой страницы справки имелось в виду окно Общие параметры разработки. Для изменения параметров в меню Сервис выберите пункт Импорт и экспорт параметров. Дополнительные сведения см. в разделе Параметры 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)

Другие ресурсы

Задачи обработки исключений