Костерин В В
Шрифт:
При традиционной обработке ошибок, ошибки, обнаруженные в процедуре, обычно передаются наружу (в вызывавшую процедуру) в виде возвращаемого значения функции, параметров или глобальных переменных (флагов). Каждая вызывающая процедура должна проверять результат вызова на наличие ошибки и выполнять соответствующие действия. Часто это просто выход в более верхнюю вызывающую процедуру и т. д.
Структурная обработка исключительных ситуаций — это программный механизм, позволяющий программисту при возникновении ошибки (исключительной ситуации — exception) связаться с кодом программы, подготовленным для обработки такой ошибки. В Delphi система называется структурной, поскольку обработка ошибок определяется областью "защищенного" кода. Такие области могут быть вложенными. Выполнение программы не может перейти на произвольный участок кода. Выполнение программы может перейти только на обработчик исключительной ситуации активной программы.
Модель исключительных ситуаций в Object Pascal является не-возобновляемой (non-resumable). При возникновении исключительной ситуации вы уже не сможете вернуться в точку, где она возникла, для продолжения выполнения программы (это позволяет сделать лишь возобновляемая (resumable) модель).
Для обработки исключительных ситуаций в язык Object Pascal добавлено новое ключевое слово "try", которое используется для обозначения первой части защищенного участка кода. Существуют два типа защищенных участков:
1) try..except;
2) try..finally.
Первый тип используется для обработки исключительных ситуаций. Его синтаксис:
Для уверенности в том, что ресурсы, занятые вашим приложением, освободятся в любом случае, можете использовать конструкцию второго типа. Код, расположенный в части finally, выполняется в любом случае, даже если возникает исключительная ситуация. Соответствующий синтаксис:
Приложение 5
ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Абстрагирование от проблемы — игнорирование ряда подробностей с тем, чтобы свести задачу к более простой задаче.
Абстрактная машина Дейкстры — применяется в проектировании архитектуры системы, самый нижний уровень абстракции — это уровень аппаратуры. Каждый уровень реализует абстрактную машину с все большими возможностями.
Абстрактный родительский класс — родительский класс, не имеющий экземпляров объектов.
Абстракция — мысленное отвлечение, обособление от тех или иных сторон, свойств или связей предметов и явлений для выявления существенных их признаков.
Абстракция сущности — произвольная абстракция. Объект представляет собой полезную модель некой сущности в предметной области.
Автоматизированная система (АС) — организационно-техническая система, обеспечивающая выработку решений на основе автоматизации информационных процессов в различных сферах деятельности (управление, проектирование, производство и т. д.) или их сочетаниях, система, состоящая из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных функций.
Автономное тестирование (тестирование модуля) (module testing) — контроль отдельного модуля в изолированной среде (например, с помощью ведущей программы), инспекция текста модуля на сессии программистов, которая иногда дополняется математическим доказательством правильности модуля.
Агрегированный объект — объект, составленный из подобъектов. Подобъекты называются частями агрегата, и агрегат отвечает за них.
Алгоритм — строго однозначно определенная для исполнителя последовательность действий, приводящих к решению задачи.
Альфа-тестирование (системное тестирование, лабораторные испытания) — фаза тестирования, выполняемая разработчиками для подтверждения, что все фрагменты правильно интегрированы в систему, а сама система работает надежно.
Анализ (от греч. analysis — разложение, расчленение) — прием умственной деятельности, связанный с мысленным (или реальным) расчленением на части предмета, явления или процесса. В теории проектирования анализ — это процесс определения функционирования по заданному описанию системы.