Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.01;
Скачать: CL | DM;

Вниз

Деление на ноль в Pascal е   Найти похожие ветки 

 
Genious ©   (2002-02-16 17:47) [0]

Народ кто-нибудь знает как сделать простой обработчик ошибок на Pascal"е. Смысл в том, что если происходит недопустимая арифметическая операция(например: деление на ноль или логарифм из отрицательного числа) мне надо ее обработать.


 
Desdechado ©   (2002-02-16 18:17) [1]

проверяй данные до ...


 
panov (M) ©   (2002-02-16 18:43) [2]

обрабатывай в блоке try..except...end


 
APL ©   (2002-02-17 12:25) [3]

а можно и так
function Mydiv(x,y:real):real;
begin
if y=0 then
result:=0
else
result:= x/y;
end;


 
AlexKniga ©   (2002-02-17 15:20) [4]

Как я понял, нужно сделать обработчик исключений на Turbo Pascal"е.

Program RTE;
Procedure Main;
Var Value: Double;
Begin
Repeat
WriteLn;
ReadLn (Value);
WriteLn (1/Value); //при вводе нуля получим RTE 200
Until Value=9999;
End;

Var ExitStandart: Pointer;
Procedure MyExit; far; // мой обработчик исключений
Begin
ExitProc:=ExitStandart;
If ErrorAddr<>nil Then
Case ExitCode of
200:
Begin
ErrorAddr:=nil;
WriteLn ("Division by zero!");
ExitProc:=@MyExit;
Main
End
Else
End;
ReadLn;
End;

Begin
ExitStandart:= ExitProc;
ExitProc:=@MyExit;
Main
End.


Почитай хелп по выделенному.
Аналогично обрабатываются все run time error"ы.
Можно реализовать самому все возмозности try..except...end.
Т.е. каскадную обработку исключений, возбуждение собственных и пр.



Страницы: 1 вся ветка

Текущий архив: 2002.04.01;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
1-148
kull
2002-03-19 11:16
2002.04.01
Помогите найти компонент типа TCurrencyEdit.


4-344
Tomvitas
2002-01-29 00:52
2002.04.01
Как в SHBrowseForFolder диалог вставить TCheckBox?


1-145
ЗЛ
2002-03-22 07:36
2002.04.01
Eсть ListBox внем 300 записей, каждые пол секунды я вывожу в label запись начиная с первой и заканчивая последней как мне сделать к этому действию ProgresBar


1-142
Zool
2002-03-21 22:53
2002.04.01
Ошибка


3-67
iPen
2002-03-05 11:01
2002.04.01
Программное свешивание в ячейке DBGrid-а