Главная » Просмотр файлов » Н. Джехани - Язык Ада (1988)

Н. Джехани - Язык Ада (1988) (1160771), страница 106

Файл №1160771 Н. Джехани - Язык Ада (1988) (Н. Джехани - Язык Ада (1988)) 106 страницаН. Джехани - Язык Ада (1988) (1160771) страница 1062019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 106)

струкции. Данные в равд. 4.5.7 правила определяют случаи, для которых от реализации не требуется возбуждения исключения в случае возникновения ошибочнои ситуации (см. также 11.6). Н()МЕЯ(С ЕЯЯОЯ Описание исключения с несколькими идентификаторами эквивалентно последовательности единичных описаний с одним идентификатором (см.

3.2). Каждое единичное описание исключения задает имя отличного от других исключения. В частности, если настраиваемый модуль содержит описание исключения, то такие описания, неявно сгенерированные различными конкретизациями настройки, ссылаются на разные исключения(но все они имеют один и тот же идентификатор).

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

Они возбуждаются при обнаружении описанных ниже ситуаций. Исключения РНООНАМ ЕЙНОЙ Это исключение возбуждается при попытке вызвать подпрограмму, активизировать задачу или предвыполнить конкретизацию настройки, если тело соответствующего модуля еще не предвыполнено. Оно также возбуждается, если выполнение функции завершается через елд (см. 6.5), при выполнении опе. ратора отбора с ожиданием, когда отсутствует раздел е1ве, а все альтернативы закрыты (см. 9.7.1).

Наконец, в зависимости от реализации исключение может возбуждаться при попытке выполнить ошибочное действие и при некорректной зависимости от порядка (см. 1.6). 8ТОНАОЕ ЕННОН Это исключение возбуждается в одной из следующих ситуа. ций: при вычислении генератора; когда не хватает динамической памяти, выделенной для задачи; когда исчерпана память для набора генерируемых объектов; при предвыполнении элемента описания ипи при вызове подпрограммы, если памяти недостаточно.

ТА8К1МО ЕНЙОН Это исключение возбуждается при возбуждении исключений во время взаимодействия задач (см. 9 и 11.5), Примечание. Описанные выше ситуации могут возникать, не возбуждая соответствующих исключений, если была использована прагма 8ОРРЙЕ88 подавления проверок (см. 11.7). Примеры олисанньщ пользователем исключении: 31МОО1АЯ; ехоояеол; ЕЯЯОЯ: ехоерлоя; ОЧЕЯЕЬОЧЧ, ЦМОЕЯЕЬОЪЧ: ехоевэмл; Ссыпки: вещественный тип 3.5.6, задача 9, идентификатор 2.3, имя 4.1, исключение 11, компонента записи 32, конкретизация 12.3, конкретизация настройки 12.3, набор 3.8, настраиваемое тело 12.2, настраиваемый модуль 12, неявное описание 12.3, обработчик исключения 11.2, объект 3.2, оператор возбуждения 11.3, оператор возврата 5.8, описание 3.1, подпрограмма 6, ссылочное значение 3.8, тело задачи 9.1, тело подпрограммы 6.3.

Контекст исключения СОМБТНА1МТ ЕННОН: агрегат 4.3.1, 4.3.2, атрибут дискретного типа 3.5.5, генератор 4.8, именованная компонента 4.1.3, индекс входа 9.5, индексированная компо. нанта 4.1.1, квалифицированное выражение 4.7, логическая операция 4.5.1, ограничение 3.3.2, ограничение диапазона 3.5, ограничение дискриминанта 3.7.2, ограничение индекса 3.6.1, опе. ратор присваивания 5.2, 5.2.1, операция возведения в степень 4.5.6, описание объекта 3.2.1, отрезок 4.1.2, преобразование типа 4.6, предвыполнение формального параметра настройки 12.3, пустое ссылочное значение 3.8, сопоставление параметров 6.4.1, указание подтипа 3.3.2.

Контекст исключения МОМЕН(С ЕННОН: атрибут дискретного типа 3.5.5, неявное преобразование 3.5.4, 3.5.6, 4.6, операция над числовым типом 4.5, 4.5.7, числовая операция 3.5.5, 3.5.8, 3.5.10. Контекст исключения РНООНАМ ЕЙНОЙ: выход из функции 6.5, контроль предвыполнения 3.9, 7.3, 9.3, 12.2, набор 3.8, некорректная зависимость от порядка 1.6, отбор с ожиданием 9.7.1, ошибочный 1.6, предвыполнение 3.9. Контекст исключения 8ТОНАОЕ ЕННОН: генератор 4.8.

Контекст исключения ТАЗК1МО ЕННОН: активизация задачи 9.3, вызов входа 9.5, 9.7.2, 9.7.3, исключения при взаимодействии задач 11.5, оператор прекращения 9.10. 11.2. ОБРАБОТЧИКИ ИСКЛЮЧЕНИЙ Ответная реакция на одно или несколько исключений определяется обработчиком исключения. обработчик исключения с= апеп выбор исключения ( ) выбор исключения) = > последовательность операторов выбор исключения с= имя исключения ) о(йегв Обработчик исключения помещается в оператор блока, в тело подпрограммы, пакет, заданный модуль или настраиваемый модуль. Каждая иэ указанных в этой главе конструкций Глава 11 называется окружением.

В любом случае окружение обработчиков исключений синтаксически включает следующий раздел: Ьв9!и последовательность операторов ехсербоп обработчик исключения [обработчик исключения) епб Имена исключений, перечисленные во всех выборах данного окружения, должны быть все различны. Выбор исключения об!ага допустим только в последнем обработчике исключения данного окружения как единственный выбор; он задает все исключения, не перечисленные в предыдущих обработчиках окружения, включая исключения, имена которых на месте данного обработчика исключения невидимы. Обработчики исключений в окружении обрабатывают исключения, возбуждаемые при выполнении последовательности операторов этого окружения. Исключения обрабатываются тем обработчиком, в выборах которого заданы имена этих исключений.

Пример: Ьмвл — последовательность операторов агмарпаа айап 3!МОО!Ай ! МОМЕЯ!С Еййбй > РОТГ МАТЙ!Х !3 3!ЙОО!АВ 1; айве а!вагу > РОТ! РАТА!. ЕЯЙОЙ *1; гайе ЕЯВОЯ; епл: Примечание. В каждом обработчике исключений и в последовательностях операторов окружения допустимы одни и те же виды операторов.

Например, оператор возврата допустим в обработчике, если окружение является телом функции. Ссылки: видимость 8.3, имя 4.1, исключение 11, настраиваемое тело 122, настраиваемый модуль 12.1, обработка исключения 11.4, оператор блока 5.6, оператор возбуждения 11.3, оператор возврата 5.8, последовательность операторов 5.1, раздел описаний 3.9, тело задачи 9.1, тело модуля 9, 9.1, тело пакета 7.1, тело подпрограммы 6.3, тело функции 6.3. 11.3.

ОПЕРАТОРЫ ВОЗБУЖДЕНИЯ Оператор возбуждения возбуждает исключение. оператор возбуждения:: = га!аа '!имя исключення1; При выполнении оператора возбуждения с именем исключения возбуждается заданное исключение. Оператор возбуждения беэ имени исключения допустим только внутри обработчика исключения (но не в пооледовательности операторов подпрограммы, пакета, звдачного модуля или настраиваемого модуля, вложенных в данный обработчик); он снова возбуждает то же исключение, которое вызвало переход на обработчик, содержащий данный оператор возбуждения.

Примеры: гейе 3!МОО!АЙ; пкае НОМЕЯ!С ЕЙЯОЙ; — явно воэбухгдается предопределенное исключение гене: — только внутри обработчика исключения Ссылки: задачный модуль 9, имя 4.1, исключение 11, настраиваемый модуль 12, пакет 7, подпрограмма 5.1, последовательность операторов 5.1. 11.4. ОБРАБОТКА ИСКЛЮЧЕНИЙ После возбуждения исключения нормальное выполнение программы прекращается и управление. передается обработчику исключения. Выбор обработчика зависит от места воз.

буждения: при выполнении операторов или при предвыполнении описаний. Ссылки: возбуждение исключения 11.3, исключение 11, обработчик исключения 11.2, оператор 5, описание 3.1, предвыпопнение 3.1, 3.9. ИС1ОВВЕЕЯИЯ 427 11.4.1. ИСКЛЮЧЕНИЯ, ВОЗБУЖДАЕМЫЕ ПРИ ВЫПОЛНЕНИИ ОПЕРАТОРОВ Обработка исключения, возбуждаемого при выполнении последовательности операторов, зависит от того, влохсена ли она в самое внутреннее окружение или в оператор принятия. Случай вложенности в оператор принятия описан в равд. 11.5. Предпринимаемые действия зависят от того, содержит ли данное окружение обработчик этого исключения и возбуждено ли исключение в последовательности операторов окружения или обработчика исключения.

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

Если исключение возбуждено в последовательности операторов окружения, не содержащего обработчик этого исключения, то выполнение последовательности операторов прекращается. Дальнейшие действия зависят от природы окружения: а) Для тела подпрограммы — то же исключение повторно возбуждается в точке вызова этой подпрограммы, кроме случаев, когда она является главнои программой. Тогда выполнение главной программы прекращается. б) Для оператора блока — то же исключение повторно возбуждается непосредственно после оператора блока (т. е.

в самом вложенном объемлющем окружении или в операторе принятия, содержащем этот оператор блока). в) Для тела пакета, являющегося дополнительным элементом описания, — тоже исключе. ние повторно возбуждается непосредственно после этого элемента описания (в объемлющем разделе описаний]. Если тело этого пакета описано как субмодуль, то исключение повторно возбуждается на месте соответствующего следа тела. Если пакет является библиотечным модулем, то выполнение главной программы прекращается. г) Для тела задачи — задача становится законченной. Говорят, что повторно возбужденное исключение (как это рассмотрено в пп, а), б) и в)) распространяется либо выполнением подпрограммы, либо выполнением оператора блока, либо предвыполнением тела пакета.

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

Характеристики

Тип файла
DJVU-файл
Размер
4,41 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее