Создание собственных исключений - раздел Информатика,
Блок Try...finally
Паралле...
Блок try...finally
Параллельно с блоком try..except в языке существует и try. .finally. Он соответствует случаю, когда необходимо возвратить выделенные программе ресурсы даже в случае аварийной ситуации. Синтаксис блока try..finally таков:
try
<Оператор>
<Оператор>
...
finally
<Оператор>
...
end;
Смысл этой конструкции можно описать одним предложением: операторы, стоящие после finally, выполняются всегда.
Следующие за try операторы исполняются в обычном порядке. Если за это время не возникло никаких ИС, далее следуют те операторы, которые стоят после finally. В случае, если между try и finally произошла ИС, управление немедленно передается на операторы после finally, которые называются кодом очистки.
Допустим, вы поместили после try операторы, которые должны выделить вам ресурсы системы (дескрипторы блоков памяти, файлов, контекстов устройств и т. п.). Тогда операторы, освобождающие эти ресурсы, следует поместить после finally, и ресурсы будут освобождены в любом случае.
Пример. Запись данных в файл.
Пусть в программе осуществляется некоторая обработва данных и данные записываются в файл. В процессе обработки может возникнуть ИС. Для того чтобы эаписанные данные сохранились в файле – файл надо обязательно закрыть. Для этого надо использовать блок try...finally и поместить после finally оператор закрытия файла.
Важно обратить внимание на такой факт: данная конструкция ничего не делает с самим объектом — исключительной ситуацией. Задача try...finally — только прореагировать на факт нештатного поведения программы и проделать определенные действия. Сама же ИС продолжает "путешествие" и вопрос ее обработки остается на повестке дня.
Блоки защиты ресурсов и обработчики ИС, как и другие блоки, могут быть вложенными.
try
. . . . . .
try
. . . . . .
finally
. . . . . . .
end;
finally
. . . . . . .
end;
Можно также вкладывать обработчики друг в друга, предусмотрев в каждом специфическую реакцию на ту или иную ошибку:
var i,j,k : Integer;
begin
i := Round(Random);
j := 1 - i;
try
k := 1 div i;
try
k := 1 div j;
except
On EDivByZero do
ShowMessage('Вариант 1: j=0');
end;
except
On EDivByZero do
ShowMessage('Вариант 2: i=0');
end;
end;
Но все же идеально правильный случай — это сочетание блоков двух типов. В один из них помещается общее (освобождение ресурсов в finally), в другой — особенное (конкретная реакция внутри except).
Для этого используется оператор raise, за которым в качестве параметра должен идти экземпляр объекта типа Exception. Обычно сразу за оператором… raise EMathError.Create(' ') ;
но можно и разделить создание и возбуждение исключительной ситуации:
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Создание собственных исключений
Что будем делать с полученным материалом:
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Создание собственного предприятия (химчистки)
Таким образом, все виды товаров, работ, услуг для определенных потребителей производятся субъектами производственного предпринимательства. Данный… Коммерческое предпринимательство охватывает все виды деятельности, которые… При этом имеется в виду не только продажа и покупка иностранной валюты, а непредвиденный круг операций, охватывающий…
Создание собственного предприятия
Но и это еще не все! Бригада опытных плотников быстро и качественно проводит отделку внутренних помещений и принимает заказы на изготовление срубов… При крупных покупках предоставляются значительные скидки. Для получения… Рекламные страницы газет до предела заполнены информацией о парикмахерских, косметических салонах, кафе-барах,…
"Нахождение собственных значений и собственных векторов матриц"
Например, при анализе динамических систем собственные значения определяют частоты колебаний, а собственные векторы характеризуют их форму.
В электро-радиотехнических устройствах собственные значения матриц определяют… Корни этого многочлена собственные значения или характеристические числа матрицы A. Числа называются коэффициентами…
Сравнительный анализ Маастрихтского договора о создании ЕС и договора о создании СНГ
Следует заметить, что не все страны к 90-м годам имели одинаковые возможности, отдельные государства характеризовались наличием оппозиционно… Итак, начнем рассмотрение данной темы прежде всего с истории принятия… В первую очередь обратим внимание на реформу Европейских Сообществ - ЕОУС, ЕЭС и Евроатома, где прежний отрыв…
Создание собственного предприятия
Но и это еще не все Бригада опытных плотников быстро и качественно проводит отделку внутренних помещений и принимает заказы на изготовление срубов… Возможность доставки на транспорте фирмы.При крупных покупках предоставляются… Рекламные страницы газет до предела заполнены информацией о парикмахерских, косметических салонах, кафе-барах,…
Создание бренда как построение пирамиды
И не только в России. Бизнес, за редкими исключениями, живет 10-12 лет. Раньше было иначе. У меня есть журнал «Нива» за 1910 год. Около 250… Например, масло вологодское в вощеной бумаге. Это один из феноменов советских… Сейчас это невозможно. Или деньги перекладываются в другой бизнес, или меняются владельцы, или меняется…
Главные принципы создания успешного рекламного дизайна
Как ни очевидно это звучит, вы не сможете реализовать произведенные товары до тех пор, пока не привлечете внимание потребителей. Другими словами,… Правильно подобранное изображение мгновенно передает идею и настроение… Исследования позволяют сделать вывод о том, какой из применявшихся приемов в определенной ситуации оказался весьма…
0.033
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Создание презентаций
На сегодняшний день различные виды презентаций - один из самых комфортных и эффективных способов ознакомления Вашей целевой аудитории с продвигаемым… С помощью презентации можно легко реализовать коммуникативную задачу обучения… Основных групп две, это - печатные презентации и электронные презентации. «Печатные» презентации. Начнем с печатного…
Имя собственное как прецедент в рекламе
Термин “прецедентный текст” был введен Ю. Н. Карауловым в 1986 г. в ходе VI конгресса МАПРЯЛ [4, 105-126]. Современная да и вообще реклама способна… Ю. Н. Караулов справедливо полагает, что прецедентные тексты – это обязательно… Поэтому в рекламе прецедентными могут быть тексты различных параметров: имя автора, название произведения и текст…
Создание базы данных геореференсированных фотографических изображений почв в on-line доступе
Второй заключается в работе с данными дистанционного зондирования, которые позволяют результаты, полученные при точечных наблюдениях, распространить… Взаимодействие этих двух подходов достигается следующим образом. Благодаря… После того, как найдены соответствия, рассчитываются стохастические многопараметрические связи почвенных свойств и…
Организация собственной выставки
Исходя из того, что политика губернатора Пензенской области в основном направлена на строительство, Пензенская область более чем привлекательный и… Город имеет лучшее расположение на автомобильных и железнодорожных ветках и… Место проведения выставки должно быть достаточно масштабным, чтобы участники не мешали друг другу.
Методы создания рекламы
Единой универсальной теории, позволяющей создавать эффективную рекламу, не существует. Из первой группы выделяется американская школа рекламы,… Рекламист должен собрать материалы о том, продукте, который ему предстоит… Он анализирует, кто будет основным покупателем товара и какие функции товара этого покупателя наиболее сильно…
Новости и инфо для студентов