Обработка исключений (отладка)
Исключение — это отклонение от нормального выполнения программы. Исключения часто указывают на проблемы, которые необходимо отладить. При возникновении исключения отладчик записывает его сообщение в окно Вывод, если эта функциональная возможность не отключена в диалоговом окне Страница "Общие", папка "Отладка", диалоговое окно "Параметры".
Отладчик может как прерывать выполнение при возникновении исключения, так и не прерывать его.
Если исключение (не на ASP.NET) происходит и не обрабатывается, отладчик всегда приостанавливает выполнение.
Можно настроить отладчик на приостановку выполнения сразу же после вызова исключения, до вызова любого обработчика. Дополнительные сведения см. в разделе Практическое руководство. Прерывание выполнения при создании исключения.
Если отладка выполняется в режиме "Только мой код", существует третий вариант. Можно настроить отладчик на прерывание по любому исключению, не обрабатываемому в коде пользователя ("Моем коде"). Дополнительные сведения см. в разделе Практическое руководство. Прерывание выполнения при создании не обработанных пользовательским кодом исключении.
В ASP.NET есть обработчик исключений верхнего уровня, который обрабатывает исключения и выводит страницу ошибки в браузере. Этот обработчик исключений верхнего уровня предотвратит прерывание выполнения по необработанному исключению, если не включен режим "Только мой код". При отладке ASP.NET следует всегда включать режим "Только мой код".
Помните, если исключение возникает и не обрабатывается, отладчик всегда прерывает выполнение. Параметр "Не обработанное пользовательским кодом" не меняет этого.
Отладчик Visual Studio распознает следующие категории исключений:
Исключения С++
Исключения среды CLR
Помощники по отладке управляемого кода
Проверки в машинном коде во время выполнения
Исключения Win32
Исключения среды выполнения JavaScript
Исключения доступа к памяти GPU
Для большинства исключений предусмотрены обработчики, реагирующие на возникновение исключения. Это дает программе возможность выйти из нестандартной ситуации. Проверки времени выполнения машинного кода не имеют обработчиков.
В приложениях, написанных на Visual Basic, все ошибки представляются отладчиком как исключения, даже при использовании обработчиков ошибок типа On Error.
Для Visual Basic и C# отладчик теперь предоставляет новую возможность — помощник по исключениям, содержащий дополнительные сведения при возникновении исключения.
Сведения по обработке исключений см. в следующих разделах:
Практическое руководство. Прерывание выполнения при создании исключения
Практическое руководство. Анализ системного кода после исключения
Практическое руководство. Настройка проверок во время выполнения машинного кода
Использование проверки кода во время выполнения без библиотеки среды выполнения C
-
Примечание
(Только для Visual Basic и Visual C#) Если неперехваченное исключение возникает при отключенном помощнике по исключениям, то псевдопеременная $exception добавляется в окно Локальные.Можно использовать эту псевдопеременную для просмотра сведений об исключении.
См. также
Основные понятия
Другие ресурсы
<PAVE OVER> Практическое руководство. Переход в пошаговый режим выполнения "Только мой код"