русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ


Дата добавления: 2013-12-23; просмотров: 939; Нарушение авторских прав


Implementation

Interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForml = class(TForm)

Labell: TLabel;

Buttonl: TButton;

procedure ButtonlClick(Sender: TObject);

private

{Процедура Fl доступна только в данном модуле)

procedure Fl (Ch:char) ;

public

{Переменная Chi и процедура F2 доступны для объектов

любых классов и для других модулей, но со ссылкой

на объект}

Chi:char;

procedure F2(Ch:char);

end;

var

Forml: TForml;

 

{Переменная Ch2 и процедура F3 доступны для объектов

любых классов и для других модулей}

Ch2:char;

procedure F3(Ch:char);

 

{$R *.DFM)

uses unit2;

(Переменная Ch3 и процедура F4 доступны только внутри

данного модуля}

var Ch3:char;

procedure F4(Ch:char);

begin

end;

 

procedure TForml.ButtonlClick(Sender: TObject);

(Переменная Ch4 и процедура F5 доступны только внутри

данной процедуры)

var Ch4:char;

procedure F5(Ch:char);

begin

end;

begin

end;

 

 

Язык Object Pascal позволяет обрабатывать исключительные ситуации, выделив в составе блока кода:

· Собственно реализацию алгоритма.

· Обработчик исключительной ситуации.

· Заключительную часть, выполняющую необходимые действия по корректному завершению вне зависимости от того, возникали или нет исключительная ситуация.

Рассмотрим 2 примера:

1:

var

f:file;

begin

AssingnFle(f,’1.txt’);

try

reset(f);

DoSomething;

finally

close(f);

end;

end;

2:

procedure GetValue (text : string):integer;

const DefValue : integer = 0;

begin

try

result:= StrToInt(text);

except

on EConvertError do Result := DefValue;

end;

end;

 

Блок, ограниченный зарезервированными словами try и end и содержащий одно из зарезервированных слов finally или except, называется защищенным блоком кода. Существует 2 основных вида таких блоков: Первый вид соответствует первому примеру. Следующие за try операторы выполняются в обычном порядке. Если за это время не произошло исключительных ситуаций (ИС), то выполняются операторы, которые стоят после finally. Если между try и finally произошла ИС, то управление немедленно передается на операторы после finally, их функция – освобождение ресурсов.



Второй вид блока try применяется для реакции на конкретный тип ситуации. Его синтаксис следующий:

try

<оператор>

<оператор>

except

on Exception1 do <оператор>

on Exception2 do <оператор>

else

<оператор> {обработчик ИС по умолчанию}

В случае отсутствия ИС выполняется только блок try. Секция except получает управление в случае возникновения ИС. При этом директивы on..do просматриваются последовательно. Если возникла ситуация, не определенная ни одной из директив, то вызывается обработчик ИС по умолчанию.

 



<== предыдущая лекция | следующая лекция ==>
Implementation | ФУНКЦИИ РАБОТЫ С ФАЙЛАМИ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.