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

Вниз

try except finally   Найти похожие ветки 

 
alt7   (2003-06-19 13:17) [0]

Чето меня переклинило.

Вообщем пишу обработку своих возможных ошибок.
Решил рассмотреть простейший пример:

a := 1;

try
b := a / 0;
finally ShowMessage("errror"); end;
ShowMessage(FloatToStr(b));

Но в отдельном exe-файле после моего сообщения показывается и системное о делении на 0. Как убрать это системное сообщение?

PS То же самое и в try ..except


 
Anatoly Podgoretsky ©   (2003-06-19 13:24) [1]

Не может быть


 
alt7   (2003-06-19 13:25) [2]

Что значит не может быть? Издеваешься или нет?


 
Юрий Зотов ©   (2003-06-19 13:26) [3]

В try-finally так и должно быть - ошибка ведь не гасится. А что касается try-except - запустите не из-под Delphi, а отдельно - будет то же самое? Если нет, то все ОК.


 
alt7   (2003-06-19 13:28) [4]

Что значит не может быть? Издеваешься или нет?


 
alt7   (2003-06-19 13:29) [5]

При запуске exe пишется Invalid floating point operation


 
NickBat ©   (2003-06-19 13:30) [6]

> Anatoly Podgoretsky © (19.06.03 13:24)
Нельзя же так! Человека аж зациклило.
:))))


 
Anatoly Podgoretsky ©   (2003-06-19 13:31) [7]

А то что если у тебя есть try except то не может быть сообщения об ошибки при делении на ноль, а вот ты возможно издеваешься, поскольку не привел свой код с try except но претензии почему то предъявляешь.


 
Palladin ©   (2003-06-19 13:31) [8]

:)))


 
alt7   (2003-06-19 13:33) [9]

А вот смотри:

try
b := a / 0;
except ShowMessage("errror"); end;
ShowMessage(FloatToStr(b));

В хелпе написано, что так должно для всех exception сработать


 
Anatoly Podgoretsky ©   (2003-06-19 13:35) [10]

Юрий Зотов © (19.06.03 13:26)

Но в отдельном exe-файле после моего сообщения показывается

Поэтому и не может быть, разве что нас пытаются разыграть.


 
Anatoly Podgoretsky ©   (2003-06-19 13:37) [11]

alt7 (19.06.03 13:33)
ShowMessage(FloatToStr(b));
B не определено и работать с ним не правомочно.


 
alt7   (2003-06-19 13:38) [12]

Хохотуны, млин.

Ну сделай в Делфи форму с кнопочкой, вставь это:

procedure TForm1.Button1Click(Sender: TObject);
var
a,b: extended;
begin
a := 1;

try
b := a / 0;
except ShowMessage("errror"); end;
ShowMessage(FloatToStr(b));
end;

Если при запуске exe ничего тебе не выдаст - посыплю голову пеплом..


 
alt7   (2003-06-19 13:39) [13]

Гы, простите товарищи мой гемморрой ;))) Это видимо не лечится ;((((


 
Palladin ©   (2003-06-19 13:40) [14]


> alt7 (19.06.03 13:17)

парень в D6 усе в порядке
только что проверил


 
_mandrake_   (2003-06-19 16:08) [15]

в D7 и win2k дела обстоят точно как описывет alt7 :-(


 
MacroDenS ©   (2003-06-19 16:17) [16]

А поставить обработчик ошибок и нулить его потом не пробовал?


 
Жук ©   (2003-06-19 16:21) [17]


> Anatoly Podgoretsky © (19.06.03 13:37)
> ShowMessage(FloatToStr(b));
> b не определено и работать с ним не правомочно.



 
Palladin ©   (2003-06-19 16:22) [18]


> _mandrake_ (19.06.03 16:08)

на вас всех пепла не напасешься


 
Anatoly Podgoretsky ©   (2003-06-19 17:41) [19]

Так скоро плешивым стать можно.



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

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

Наверх




Память: 0.5 MB
Время: 0.018 c
4-97932
Illusion
2003-04-27 13:57
2003.06.30
UpdateLayeredWindow


4-97919
il
2003-04-28 14:24
2003.06.30
Как выбрать пункт главного меню чужого приложения (окна)


1-97698
bpv
2003-06-17 16:37
2003.06.30
количество свойств в компоненте


3-97499
vvvvv
2003-06-05 11:51
2003.06.30
Из списка драйверов пропал Oracle. Как восстановить?


1-97731
Alexander Vasjuk
2003-06-18 14:47
2003.06.30
Новый вопрос по Excel