Суббота
31.10.2026
10:34


Форма входа

Приветствую Вас Гость | RSS
Borland Delphi 7
Главная Регистрация Вход
Главная » 2009 » Февраль » 22 » Обработка исключения типа EZeroDivide
Обработка исключения типа EZeroDivide
11:18
unit UsTry_;

interface

uses

Windows, Messages, SysUtils, Classes,

Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel; 

Label3: TLabel;

Label4: TLabel;

Editl: TEdit; // напряжение 

Edit2: TEdit; // сопротивление

Label5: TLabel; // результат расчета - ток

Button1: TButton; //кнопка Вычислить

procedure ButtonlClick(Sender: TObject);

private

{ Private declarations ) 

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var

u: real; // напряжение 

r: real; // сопротивление

i: real; // ток 

begin

Labels.Caption := ' '; try

// инструкции, которые могут вызвать исключение (ошибку)

u := StrToFloat(Edit1.Text); 

r := StrToFloat(Edit2.Text); 

i := u/r;

except // секция обработки исключений

onEZeroDivide do // деление на ноль 

begin

ShowMessage('Сопротивление не может быть равно нулю!');

exit; 

end;

on EConvertError do // ошибка преобразования строки в число 

begin

ShowMessage('Напряжение и сопротивление должны быть ' +

'заданы числом. ' +#13+

'При записи дробного числа используйте запятую.';

exit;

end;

end;

Label5.Caption := FloatToStr(i) + ' A'; 

end;

end.

В приведенной программе исключения могут возникнуть при вычислении величины тока. Если пользователь задаст, что сопротивление равно нулю, то при выполнении инструкции i:=u/r возникает Исключение EZeroDivide.

Если неверно будет введено числовое значение, например, для разделения целой и дробной частей числа вместо запятой будет использована точка, то возникнет исключение типа EConvertError. Оба исключения обрабатываются одинаково: выводится сообщение, после чего процедура обработки события Onclick завершает свою работу.

Категория: Статьи участников клуба | Просмотров: 3330 | Добавил: delphi | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Меню сайта

Разделы новостей
Программные обеспечения [6]
Учебники и справочники Delphi [15]
Лабораторные работы [2]
Статьи участников клуба [36]
Советы и трюки [1]

Календарь новостей
«  Февраль 2009  »
Пн Вт Ср Чт Пт Сб Вс
      1
2345678
9101112131415
16171819202122
232425262728

Поиск

Друзья сайта

Мини-чат

Наш опрос
Какой раздел нужно добавить на сайт и на форум?
Всего ответов: 57

Copyright MyCorp © 2026