Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];

Вниз

Деление на ноль в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
3-8
Андре
2002-03-04 12:10
2002.04.01
BLOB


3-79
Egor111
2002-03-04 21:35
2002.04.01
ADOConnection и иже с ним


1-139
Sound
2002-03-22 02:22
2002.04.01
Можно ли перевести String в PChar?


3-78
Draculenok
2002-03-01 15:15
2002.04.01
Как сгруппировать в Excele&


3-77
Dimedrol
2002-02-13 10:32
2002.04.01
начинаю с Interbase.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский