Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конструирование программ.doc
Скачиваний:
12
Добавлен:
05.05.2019
Размер:
12.37 Mб
Скачать

4.2.9.1 Операторы try…except

Операторы tryexcept применяется для обработки исключительных ситуаций.

Синтаксис:

try

<Операторы>

except

on <Класс исключения> do <Оператор обработки>;

on <Класс исключения> do <Оператор обработки>;

...

else { обработчик прочих исключительных ситуаций}

<0ператор>

end;

Выполнение оператора начинается с секции try. При отсутствии исключительных ситуаций только она и выполняется.

Секция except получает управление в случае возникновения исключения. После обработки исключительной ситуации управление обратно в секцию try не передается; выполняются операторы, стоящие после end.

Пример:

var

a, b, c: ShortInt;

begin

try

c:= a div b;

except

on EIntError {Класс исключений для ошибок целочисленной

арифметики (деление на 0, переполнение)}

do

MessageDlg('Ошибка', mtWarning, [mbOK], 0); { вывод сообщения об ошибке в диалоговое окно с кнопкой OK}

end;

end.

4.2.9.2 Операторы try…finally

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

Синтаксис:

try

<Операторы>

finally

<Операторы>;

end;

Следующие за try операторы исполняются в обычном порядке. Если за это время не возникло никаких исключительных ситуаций, далее следуют те операторы, которые стоят после finally.

В случае, если между try и finally произошла исключительная ситуация, то управление немедленно передается на операторы после finally, которые называются кодом очистки.

Пример:

type

pList = ^TList;

TList = record

. . .

end;

var

p1: pList;

begin

new(p1);

try

. . .

finally

dispose(p1);

p1:=Nil;

end;

end.

Операторы tryfinally выполняют только определенные действия, связанные с освобождением ресурсов, но не обрабатывают саму исключительную ситуацию.

Советы профессионала

Причины создания классов:

  • Моделирование объектов реального мира.

Создайте класс для каждого объекта реального мира, моделируемого Вашей программой

  • Моделирование абстрактных объектов.

Создайте класс для абстрактного объекта, который не существует в реальном мире, но является абстракцией для других конкретных объектов

  • Снижение сложности – самая важная причина создания классов.

Без абстракции классов сложные программы было бы невозможно охватить умом

  • Сокрытие деталей реализации.

Создавайте класс как для доступа к базе данных, так и для отдельного элемента данных, хранимых в форме числа или строки

  • Упрощение передачи параметров в методы.

Если Вы передаете один параметр в несколько методов, то это может указать на необходимость объединения этих методов в класс

  • Облегчение повторного использования кода.

Код, грамотно разбитый на классы, легче повторно использовать в других программах

  • Планирование развития программы.

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

5. Визуальная разработка программ в delphi

Delphi – это объектно-ориентированная среда визуальной разработки программ и программных систем.

Основу Delphi составляют язык Object Pascal и Библиотека визуальных компонентов (Visual Component LibraryVCL). VCLэто иерархия объектов Object Pascal, которая обеспечивает быструю и эффективную разработку программ.

Палитра компонент и Инспектор объектов среды разработки Delphi позволяют Вам перетаскивать VCL-компоненты на Формы. Манипулируя свойствами компонентов и событиями элементов управления (визуальных компонентов), Вы можете создавать интерфейс Пользователя программы практически без написания программного кода.

Упрощенная иерархия базовых классов Delphi показана на рисунке 5.1.

Рисунок 5.1 – Упрощенная иерархия базовых классов Delphi

Базовые классы Delphi позволяют разработчикам проектировать любые типы приложений.