Вторник
17.10.2017
07:04


Форма входа

Приветствую Вас Гость | 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 завершает свою работу.

Категория: Статьи участников клуба | Просмотров: 1919 | Добавил: delphi | Рейтинг: 0.0/0 |
Всего комментариев: 7
7  
http://www.thumbshots.net/search.aspx?q=site%3aloveepicentre.com
canadian pharmacy painkillers http://sundrugstore.net/products/eriacta.htm nz pharmacy
http://www.samachar.com/samasearch/search_samachar.php?ss=0&q=site:loveepicentre.com
http://suche.gmx.net/search/web/?su=site%3Aloveepicentre.com

6  
http://www.thumbshots.net/search.aspx?q=site%3aloveepicentre.com
hydrocodone mexican pharmacy http://sundrugstore.net/products/imuran.htm pharmacy shoppers dempgraphics 2007
http://www.frootful.net/search/?tracking=popular&searchfield=site:loveepicentre.com

5  
skin tac h what pharmacy in richmond va http://sundrugstore.net/products/vantin.htm one minute clinics at cvs pharmacy

4  
advantages of being a pharmacy lawyer http://sundrugstore.net/products/depakote.htm canadian pharmacology for pharmacy technicians

3  
compounding pharmacy in mandarin florida http://exclusiverx.com/products/lamictal.htm best pharmacy

2  
pharmacy school referral letter http://trustonlinedrugstore.com/products/lioresal.htm federal pharmacy law pdf

1  
affiliate canadian pharmacy program http://trustonlinedrugstore.com/products/horny-goat-weed.htm discount online pharmacy

Имя *:
Email *:
Код *:
Меню сайта

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

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

Поиск

Друзья сайта

Мини-чат

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

Статистика

Copyright MyCorp © 2017