Введение в обработку исключений (Visual Basic)

Visual Basic поддерживает как структурную, так и неструктурную обработку исключений (ошибок). Включив в приложение код обработки исключений, можно обработать большинство ошибок, с которыми может столкнуться пользователь, и дать приложению возможность продолжить работу. Структурная и неструктурная обработка исключений позволяет предусматривать возможные ошибки и предотвращать нарушение работы приложения из-за этих ошибок.

Рассмотрим использование обработки исключений в любом методе, использующем операторы, которые могут создавать исключение, вызывать процедуры, создающие исключения, или осуществлять доступ к ним.

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

Примечание

Один метод может содержать либо структурную, либо неструктурную обработку исключений, но не то и другое одновременно.

Структурная обработка исключений

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

Оператор Try...Catch...Finally используется специально для структурной обработки исключений. Дополнительные сведения см. в разделе Обзор структурной обработки исключений в Visual Basic.

Неструктурная обработка исключений

Оператор On Error используется специально для неструктурной обработки исключений. При неструктурной обработке исключений оператор On Error помещается в начале блока кода. После этого он имеет "область действия" в рамках этого блока и обрабатывает все ошибки, возникающие в его пределах. Если программа встречает другой оператор On Error, то он вступает в силу, а первый оператор становится недействительным. Дополнительные сведения см. в разделе Обзор неструктурной обработки исключений (Visual Basic).

См. также

Задачи

Устранение неполадок при обработке исключений (Visual Basic)

Пошаговое руководство. Структурная обработка исключений (Visual Basic)

Ссылки

Оператор On Error (Visual Basic)

Основные понятия

Типы ошибок (Visual Basic)

Обзор структурной обработки исключений в Visual Basic

Обзор неструктурной обработки исключений (Visual Basic)

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

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