R.15.5 Спецификации особых ситуаций

R.15.5 Спецификации особых ситуаций

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

спецификация-особой-ситуации:

 throw ( список-типов opt )

список-типов:

 имя-типа

 список-типов , имя-типа

Приведем пример:

void f() throw (X,Y)

{

 //…

}

Если функция попробует запустить неуказанную в списке ситуацию, управление передается функции unexpected(), см. §R.15.8.

Реализация языка не должна запрещать выражение только потому, что при его вычислении возможен запуск особой ситуации, не указанной в спецификации-особой ситуации описания функции. Обработка непредвиденных особых ситуаций происходит в динамике.

Функция, в которой отсутствует спецификация-особой-ситуации, может запустить любую особую ситуацию.

Функция с пустой спецификацией-особых-ситуаций (throw()) не должна запускать никаких особых ситуаций.

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

Конструкция спецификация-особой-ситуации не относится к типу функции.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Обработка исключительных ситуаций 

Из книги автора

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


Обработка особых ситуаций (exception)

Из книги автора

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


1. Дать старым клиентам возможность заказать на особых условиях

Из книги автора

1. Дать старым клиентам возможность заказать на особых условиях При запуске какого-либо проекта нужно делать спецпредложение клиентам, которые у вас уже есть. Причем очень ограниченное по времени – на 24 или 36 часов. Вы можете скинуть письмо, СМС-сообщение, послать по


3. Тестирование и обработка исклительных ситуаций

Из книги автора

3. Тестирование и обработка исклительных ситуаций 3.1 Unit–тесты. Проанализировав, на что уходит время у большинства программистов, – можно обнаружить, что на написание кода в действительности тратится совсем небольшая часть. Какая-то часть уходит на понимание задачи, еще


R.15 Обработка особых ситуаций

Из книги автора

R.15 Обработка особых ситуаций R.15.1 Обработка особых ситуаций При обработке особых ситуаций в ходе выполнения программы информация и управление передаются из некоторой точки обработчику особых ситуаций. Обработчик находится в цепочке выполненных вызовов функций.


R.15.1 Обработка особых ситуаций

Из книги автора

R.15.1 Обработка особых ситуаций При обработке особых ситуаций в ходе выполнения программы информация и управление передаются из некоторой точки обработчику особых ситуаций. Обработчик находится в цепочке выполненных вызовов функций. Управление обработчику передается с


R.17.9 Обработка особых ситуаций

Из книги автора

R.17.9 Обработка особых ситуаций проверяемый-блок: try составной-оператор список-обработчиковсписок-обработчиков: обработчик список-обработчиков optобработчик: catch ( описание-особой-ситуации ) составной-операторописание-особой-ситуации: список-спецификаций-типа


70. Отличайте ошибки от ситуаций, не являющихся ошибками

Из книги автора

70. Отличайте ошибки от ситуаций, не являющихся ошибками РезюмеФункция представляет собой единицу работы. Таким образом, сбои следует рассматривать либо как ошибки, либо как штатные ситуации, в зависимости от их влияния на функции. В функции f сбой является ошибкой тогда и


17.4. Спецификации — ДНК, код — РНК

Из книги автора

17.4. Спецификации — ДНК, код — РНК Даже в давние времена PDP-7 Unix-программисты всегда (больше чем их коллеги, работающие с другими системами) были склонны рассматривать старый код как непригодный к повторному использованию. Это, несомненно, было продуктом Unix-традиции,


Обработка исключительных ситуаций

Из книги автора

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


11. УПРАВЛЕНИЕ КОМПЛЕКСНОЙ СИСТЕМОЙ ЗАЩИТЫ ИНФОРМАЦИИ В УСЛОВИЯХ ЧРЕЗВЫЧАЙНЫХ СИТУАЦИЙ

Из книги автора

11. УПРАВЛЕНИЕ КОМПЛЕКСНОЙ СИСТЕМОЙ ЗАЩИТЫ ИНФОРМАЦИИ В УСЛОВИЯХ ЧРЕЗВЫЧАЙНЫХ СИТУАЦИЙ 11.1. Понятие и виды чрезвычайных ситуацийОбеспечение продолжительного нормального функционирования в любой системе требует пристального внимания по отношению к потенциальным


Как публиковать статьи, не прилагая к тому особых усилий Дмитрий Вибе

Из книги автора

Как публиковать статьи, не прилагая к тому особых усилий Дмитрий Вибе Опубликовано 18 апреля 2013 Мне, как и любому нормальному человеку, приходит на почту спам (институтский фильтр хорош, но не всесилен). Чаще всего это информация, не только


Сотовая связь в условиях терактов и чрезвычайных ситуаций Андрей Васильков

Из книги автора

Сотовая связь в условиях терактов и чрезвычайных ситуаций Андрей Васильков Опубликовано 19 апреля 2013 Самодельные взрывные устройства нередко активируют дистанционно – входящим звонком на прикреплённый к электродетонатору мобильный телефон.