Spec-Zone .ru
спецификации, руководства, описания, API
След: Существенные Классы
Урок: Исключения
Каково Исключение?
Домашняя страница > Существенные Классы > Исключения

Каково Исключение?

Термин исключение является сокращением для фразы "исключительное событие."


Определение: 

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


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

После того, как метод выдает исключение, система времени выполнения пытается найти, что что-то обрабатывает его. Набор возможного "somethings", чтобы обработать исключение является упорядоченным списком методов, которые вызвали, чтобы добраться до метода, где ошибка произошла. Список методов известен как стек вызовов (см. следующее число).

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

Стек вызовов.

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

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

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

Поиск стека вызовов для обработчика исключений.

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


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Исключения
Следующая страница: Выгода или Определяет Требование