Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.011 c
14-97837
Dr. Death
2003-06-11 00:32
2003.06.30
RUS-OFFICE .ORG Project


14-97833
DDDD
2003-06-12 09:34
2003.06.30
Microsoft DDK


14-97843
Silver_
2003-06-12 10:57
2003.06.30
Невосприинчивость к определенным внешним сообщениям


1-97666
Noy
2003-06-17 13:26
2003.06.30
Запуск приложения


6-97767
Dober_m@N
2003-04-12 04:57
2003.06.30
как узнать IP если их несколько на 1 компьютере




   Наверх