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


Возобновление выполнения после исключения

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

Этот раздел применим к:

Выпуск

Visual Basic

C#

C++

Web Developer

Express

Тема применяется Тема применяется Тема применяется Тема применяется

Standard

Тема применяется Тема применяется Тема применяется Тема применяется

Pro и Team

Тема применяется Тема применяется Тема применяется Тема применяется

Обозначения:

Тема применяется

Применяется

Тема не применяется

Не применяется

Тема применяется, но команда по умолчанию сокрыта

Команда или команды скрыты по умолчанию.

Когда отладчик приостанавливает выполнение из–за возникновения исключения, появляется диалоговое окно. Для Visual Basic или C# будет отображено диалоговое окно Помощник по исключениям по умолчанию. Для Visual Basic или C# появится более старое диалоговое окно Исключение. Если используется Visual Basic или C#, но отключен Помощник по исключениям в диалоговом окне Параметры , появится диалоговое окно Исключение.

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

Управляемый код

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

Машинный код

В машинном С/С++ имеются две возможности:

  • Можно нажать кнопку Приостановить и попробовать устранить проблему. Находясь в режиме приостановки, можно вернуть назад стек вызова, щелкнув правой кнопкой мыши рамку в окне Стек вызова и выбрав Очистить до этого фрейма в контекстном меню. Если неполадки не были устранены, то при возобновлении отладки снова появляется диалоговое окно Исключение. В противном случае диалоговое окно Исключение не появится.

  • Можно щелкнуть кнопку Продолжить для продолжения выполнения без попытки устранить неполадку. Снова появится диалоговое окно Исключение.

Смешанный код

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

См. также

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

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