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


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

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

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

  • Если исключение (не на ASP.NET) происходит и не обрабатывается, отладчик всегда приостанавливает выполнение.

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

  • Если отладка выполняется в режиме "Только мой код", существует третий вариант. Можно настроить отладчик на прерывание по любому исключению, не обрабатываемому в коде пользователя ("Моем коде"). Дополнительные сведения см. в разделе Практическое руководство. Прерывание выполнения при создании не обработанных пользовательским кодом исключении.

  • В ASP.NET есть обработчик исключений верхнего уровня, который обрабатывает исключения и выводит страницу ошибки в браузере. Этот обработчик исключений верхнего уровня предотвратит прерывание выполнения по необработанному исключению, если не включен режим "Только мой код". При отладке ASP.NET следует всегда включать режим "Только мой код".

    Помните, если исключение возникает и не обрабатывается, отладчик всегда прерывает выполнение. Параметр "Не обработанное пользовательским кодом" не меняет этого.

Отладчик Visual Studio распознает следующие категории исключений:

  • Исключения С++

  • Исключения среды CLR

  • Помощники по отладке управляемого кода

  • Проверки в машинном коде во время выполнения

  • Исключения Win32

  • Исключения среды выполнения JavaScript

  • Исключения доступа к памяти GPU

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

В приложениях, написанных на Visual Basic, все ошибки представляются отладчиком как исключения, даже при использовании обработчиков ошибок типа On Error.

Для Visual Basic и C# отладчик теперь предоставляет новую возможность — помощник по исключениям, содержащий дополнительные сведения при возникновении исключения.

Сведения по обработке исключений см. в следующих разделах:

См. также

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

Безопасность отладчика

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

помощник по исключениям

Путеводитель по отладчику

<PAVE OVER> Практическое руководство. Переход в пошаговый режим выполнения "Только мой код"