Когда нет предложения rescue
Когда нет предложения rescue
Формализовав роль предложения rescue, вернемся к рассмотрению ситуации, когда это предложение отсутствует в программе. Правило для этого случая было введено ранее, но с обязательством его уточнения. Ранее полагалось, что отсутствующее предложение rescue эквивалентно присутствию пустого предложения (rescue end). В свете наших формальных правил это не всегда является приемлемым решением. Правило (3) требует:
{True} Rescuer {INV}
Если Rescuer является пустой инструкцией, а инвариант не тождественен True, то правило не выполняется.
Зададим точное правило. Класс Any является корневым классом - прародителем всех классов. В состав этого класса включена процедура default_rescue, наследуемая всеми классами - потомками Any:
default_rescue is
-- Обрабатывает исключение, если нет предложения rescue.
-- (По умолчанию: ничего не делает)
do
end
Программа, не имеющая предложения rescue, рассматривается теперь как эквивалентная программе с предложением rescue в следующей форме:
rescue
default_rescue
Каждый класс может переопределить default_rescue, для выполнения специфических действий, гарантирующих восстановление инварианта класса, вместо эффекта пустого действия, заданного по умолчанию в GENERAL. Механизм переопределения компонент класса будет изучаться в последующих лекциях, посвященных наследованию.
Вы, конечно, помните, что одна из ролей процедуры создания состоит в производстве состояния, удовлетворяющего инварианту класса INV. Отсюда понятно, что во многих случаях переопределение default_rescue может основываться на использовании процедур создания.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Конструктивные предложения
Конструктивные предложения Для начала стоит разобрать используемый фреймворк на составные части. JSON — отдельно, AJAX — отдельно, работа с DOM — отдельно, формы — отдельно. После этого задача «выкидывания ненужного» превращается в задачу «собери только нужное».
2.1. Слова, предложения и смысл
2.1. Слова, предложения и смысл «Механизм восприятия образов обладает некоторыми недостатками, которые являются платой за его исключительно ценные качества. Два из них, видимо, наиболее важны: образ, в особенности зрительный, склонен к обособлению ситуаций, более чем это
11. Итог предложения
11. Итог предложения Графические изображения, тренинги, бонусы – суперкомплект, и не за 20 000 рублей, а всего за
Визуализация предложения
Визуализация предложения Обязательно оформляйте ваши «вкусные» предложения с помощью красивых картинок. Например, если вы предлагаете скачать книгу, должно быть изображение книги с тематической картинкой, несмотря на то что она в электронном виде.Если это видеокурс,
Определение псевдонимов с использованием предложения AS
Определение псевдонимов с использованием предложения AS Из предыдущего примера ясно, что существует возможность определения псевдонимов (alias), т.е. переименования полей в запросе. Это может быть вызвано следующими причинами:• в основной таблице имена полей могут быть
Общие предложения
Общие предложения Мы собираемся предложить здесь игры для программирования. Мы выбрали их потому, что они не требуют придумывания выигрывающей стратегии при составлении программы. Каждая игра ставит вас перед, вообще говоря, непредсказуемой ситуацией. Вы должны играть,
10.5.2. Старшинство предложения COLLATE
10.5.2. Старшинство предложения COLLATE Предложение COLLATE имеет высокое старшинство (выше, чем ||), так следующие два выражения эквивалентны:x || y COLLATE zx || (y COLLATE
Отзывы и предложения
Отзывы и предложения Все свои отзывы и критические замечания вы можете посылать на электронный адрес автора rusproject@mail.ru. Также стоит почаще заглядывать на сайт http://rusproject.narod.ru, на котором я постараюсь размещать новые дополнительные материалы по тематике
10. Когда открыть, а когда закрыть
10. Когда открыть, а когда закрыть Рассмотрев деловые модели, которые поддерживают разработку программного обеспечения с открытыми текстами, мы можем теперь приблизиться к общему вопросу о том, когда исходному коду, с точки зрения экономики, имеет смысл быть «открытым», а
Спаси и Повтори (Rescue и Retry)
Спаси и Повтори (Rescue и Retry) Прежде всего, в тексте программы должна быть возможность указания действий, выполняемых при возникновении исключения. Для этой цели и вводится новое ключевое слово rescue, задающее предложение с описанием действий, предпринимаемых для
Задача предложения rescue
Задача предложения rescue Последний комментарий позволяет нам продвинуться в лучшем понимании механизма исключений, обосновав теоретическую роль предложения rescue. Формальные рассуждения помогут получить полную
Корректность предложения rescue
Корректность предложения rescue Формальное определение корректности класса выдвигает два требования к компонентам класса. Первое (1) требует, чтобы процедуры создания гарантировали корректную инициализацию - выполнение инварианта класса. Второе (2) напрямую относится к
2008. Некоторые предложения
2008. Некоторые предложения Автор: Ваннах МихаилПредсказание будущего - вещь смутная. Хоть и породила ремесло футуролога. Сидит, знаете ли, интеллигент на суку, пилит его. Прохожий кричит: "Упадешь!" Интеллигент продолжает пилить, через какое-то время падает. Поднимается,