Главная » Просмотр файлов » Р.У. Себеста - Основные копцепции языков программирования (2001)

Р.У. Себеста - Основные копцепции языков программирования (2001) (1160794), страница 148

Файл №1160794 Р.У. Себеста - Основные копцепции языков программирования (2001) (Р.У. Себеста - Основные копцепции языков программирования (2001)) 148 страницаР.У. Себеста - Основные копцепции языков программирования (2001) (1160794) страница 1482019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Ее конструктор выводит сообщение при создании объекта данного класса. а обработчик осуществляет вывод результатов работы метода. Исключительная ситуация Аггау1пс(ехбис01Воипс(аЕхсерсфоп является встроенной и возбуждается интерпретатором. Во обоих случаях обработчик не содержит имени объекта в качестве параметра. Ни в олном из этих случаев имена не служат никаким целям. Заметилн что все обработчики получают обьекты в качестве параметров, но часто это бывает вредно. 13.5.7. Опвратор ЕдпаХХу Существуют ситуации, при которых процесс должен быть выполнен независимо от того, возбудил ли оператор сгу исключительную ситуанню или нет, и перехватил ли некий метод возбужденную исключительную ситуацию или нет.

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

Если оператор сгу возбу.кдает некую исключительную ситуанию и она перехватывается следующим обработчиком, оператор Ейпа11у выполняется после того. как обработчик закончит свое , выполнение. Если оператор сгу возбуждает некую ситуацию, но она не перехватывается обработчиком, следующим за конструкцией сгу, оператор Едпа11у выполняется до передачи исключительной ситуации. 572 Глава 13. Обработка исключительных ситуаций За конструкцией кгу, не имеющей обработчиков исключительных ситуаций.

может следовать оператор Ейпа11у. Это имеет смысл только в том случае, если составной оператор содержит оператор ъгеа)с сопсйпие нли гекигп. Цель этого оператора в этих случаях та же, что и при обработке исключительных ситуаций. Например: кгу ( йог (1пс(ех = 0; 1пс(ех < 100; зпс)ех+~) И (...) ( гесцгп; ) // конец сператсра //* конец цикла бог ) //* конец оператора Ггу гзпа11у ( ) //* конец конструкции Ггу Оператор гйпа11у здесь будет выполнен независимо от того, прекратил ли оператор гекигп выполнение цикла, или он завершился нормальным образом. 13.5.8.

Оценка Механизм обработки исключительных ситуаций в языке эача усовершенствован по сравнению с языком С~+, на котором он основывается. Во-первых, программа на языке С++ может возбуждать исключительную ситуацию любого типа, определенного в программе или системой. В языке )ача могут быть возбуждены только объекты, являющиеся экземплярами класса Т)згонаЫе или производных от него классов. Это позволяет отделить возбуждаемые объекты от всех других объелтов (и не объектов) в программе. Какой смысл может иметь исключительная ситуация.

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

Он позволяет упорялочить виды действий, которые должны иметь место независимо от того. как именно завершилось выполнение составного оператора. В заключение отметим, что система поддержки выполнения программ на языке )ача неявно возбуждает множество исключительных ситуаций. таких как выход инлекса массива за пределы допустимого диапазона и поступ к нулевому указателю. которые могут быть обработаны любой пользовательской программой. Программа на языке С+~ может обрабатывать лишь те исключительные ситуации, которые возбуждаются явно. Обработку исключительных ситуаш1й в языках Аг(а и )ача трудно сравнивать. Наличие оператора с)згомв в методе на языке )ача очень облегчает чтение программ.

в то время как в языке Ада нет аналогичных возможностей. Язык )ача определенно ближе к языку Ада, чем к языку Сь+. в том смысле, что он позволяет программам обрабатывать обнаруживаемые системой исключительные ситуации. $73 13.5. Обработка исключительных ситуаций в языке эача Обработка исключительных ситуаций в широко распространенных языках применялась релко, несмотря на то, что многие экспериментальные языки, разработанные с сере:щпы 1970-х голов. имели такие возможности. Язык Р1.

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

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

Исл;почительные ситуации в языке )ача являются объектами, происхождение которых должно быть отслежено обратно вплоть до некоторого класса, реализующего интерфейс . 'гтс иаЬ1е. Существуют две категории исключительных ситуаций — проверенные и непроверенные.

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

и передавать их обратно в вызывающий метод. Оператор хапа11у в языке Зача обеспечивает механизм, гарантирующий, что некий кол будет выполнен независимо от того, как именно завершилось выполнение составного оператора Сху. э ° т Озноб из наиболее важных работ по обработке исключительных ситуаций, не связанной ни с одним конкретным языком программирования. является работа Ооог(епоцбЬ ! !978). Проблемы. связанные с разработкой средства обработки исключительных сит) ацпй в языке Р1..'1, рассматривались в работе Мас(.агап (1977). Обработка исключи~ сльных сизз аций в языке СШ описана в работе (лз)гот апд Бпудег (1979). Средства ооработки исключительных ситуаций в языке Аг(а рассмотрены в работе Оооба апд Иагппапга (!983).

Обработка исключительных ситуаций в языке С++ обсуждается в с ~ а ~ ьс 81гацыгцр ( ! 99 ! ). Глава 13. Обработка исключительных ситуаций 574 3. 5. б. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 2О. 21. 22. Дайте определение следуюших понятий: исключительная ситуация, обработчик исключительной ситуации, возбуждение исключительной ситуации, блокирование искзючительной ситуации, продолжение выполнения програчмы и встроенная искзючитетьная ситуация.

В чем заключаются вопросы проектирования средств обработки исключительных ситуаций? Что представляет собой связывание исключительной ситуации с обработчиком исключительной ситуации? В чем заключается проблема связывания исключительных ситуаций с обработчиком в языке Р1Л? Каковы возможные рамки применения исключительных ситуаций в языке Ада? Куда передаются необработанные исключительные ситуации в языке Ада, если он возникли в подпрограмме, в блоке, в теле пакета или в задаче? С какого места возобновляется выполнение программы после обработки исключительной ситуации в языке Ада? Как можно возбудить исключительную ситуацию в языке Ада явным образом? Как объявляется в языке Аба исключительная ситуация, определенная пользователем? Как можно подавить исключительную ситуацию в языке Ада? Как называются все обработчики исключительных ситуаций в языке С++? Как можно возбудить исключительную ситуацию в языке С++ явным образом? Как в языке С++ исключительные ситуации связываются с обработчиками? Как иа языке С++ написать обработчик исключительной ситуации так, чтобы он обрабатывал любую исключительную ситуацию? Куда передается управяение после завершения выполнения обработчика исключительной ситуации в языке С++? Существуют ли в языке С++ встроенные исключительные ситуации? Какой класс является корневым для всех классов исключительных ситуаций в языке 1ача? Какой класс является базовым для большинства определенных пользователем классов исключительных ситуаций в языке 1ача? Как на языке 1ача написать обработчик исключительной ситуации так, чтобы он обрабатывал любую исключительную ситуацию? В чем заключается разница между спецификацией тЛзкои в языке С++ и оператором еЬкоив в языке 1ача? В чем заключается разница между проверенными и непроверенными исключительными ситуациямн в языке 1ача? Можно ли заблокировать исключительные ситуации в языке 1ача? Для чего предназначен оператор бйпа11у в языке 1ача? Вопросы "'Гйнжай Мвк4арти Ь)сйп МсСагг)гу) Джон Мак-Карти и Марвин Мински (Манн)п М)паху) в 1959 году разработали в Массачусетском технологическом институте проект по созданию искусственного интеллекта.

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

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

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

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