Возобновление выполнения после исключения
Обновлен: Ноябрь 2007
Этот раздел применим к:
Выпуск |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro и Team |
Обозначения:
Применяется |
|
Не применяется |
|
Команда или команды скрыты по умолчанию. |
Когда отладчик приостанавливает выполнение из–за возникновения исключения, появляется диалоговое окно. Для Visual Basic или C# будет отображено диалоговое окно Помощник по исключениям по умолчанию. Для Visual Basic или C# появится более старое диалоговое окно Исключение. Если используется Visual Basic или C#, но отключен Помощник по исключениям в диалоговом окне Параметры , появится диалоговое окно Исключение.
Когда появится диалоговое окно Помощник по исключениям или Исключение, можно попытаться устранить проблему, вызвавшую исключение.
Управляемый код
В управляемом коде можно возобновить выполнение в том же потоке после необработанного исключения. Помощник по исключениям возвращает стек вызова к точке, когда возникло исключение.
Машинный код
В машинном С/С++ имеются две возможности:
Можно нажать кнопку Приостановить и попробовать устранить проблему. Находясь в режиме приостановки, можно вернуть назад стек вызова, щелкнув правой кнопкой мыши рамку в окне Стек вызова и выбрав Очистить до этого фрейма в контекстном меню. Если неполадки не были устранены, то при возобновлении отладки снова появляется диалоговое окно Исключение. В противном случае диалоговое окно Исключение не появится.
Можно щелкнуть кнопку Продолжить для продолжения выполнения без попытки устранить неполадку. Снова появится диалоговое окно Исключение.
Смешанный код
Если при отладке смешанного машинного и управляемого кода случилось необработанное исключение, ограничения операционной системы не позволят очистить стек вызова. При попытке очистить стек вызова с помощью контекстного меню, сообщение об ошибке объяснит, что отладчик не может вернуться в предыдущее состояние после необработанного исключения во время отладки смешанного кода.