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

Вниз

try-except не работает ?   Найти похожие ветки 

 
Abu   (2002-05-31 16:40) [0]

Помогите! Пробую try-except и никак не идет, уже простейший код беру:

var i:real;
begin
try
i:=StrToInt("3")/StrToInt("0");
except
do ShowMessage("деление на 0") ;
end;
end;

а все-равно ShowMessage("деление на 0") не выполняется, а вылетает системное сообщение. Почему?

PS: если пишу для i: i:=3/0; вместо того, что выше - вообще мимо пролетает... Тоже почему?


 
Kozhanov ©   (2002-05-31 16:42) [1]

> Abu
Попробуй это :

try
i:=StrToInt("3")/StrToInt("0");
except
on E : Exception do ShowMessage("деление на 0") ;
end;


 
MBo ©   (2002-05-31 16:43) [2]

оптимизация и вычисление на этапе компиляции


 
Виктор Щербаков ©   (2002-05-31 16:44) [3]

А ты уверен, что выражение вычисляется?
Если значение переменной не используется, то компилятор не будет генерировать код для вычисления выражения (если включена оптимизация).


 
Виктор Щербаков ©   (2002-05-31 16:54) [4]

В моем предыдущем посте ошибка. Т.к. в выражении стоит вызов функции, оптимизатор не может его выкинуть и генерирует соответствующий код. Кстати вариант с StrToInt у меня отрабатывает правильно.

А вот в случае i:=3/0; оптимизатор выкидывает вычисление выражения, т.к. оно является просто константным.


 
Abu   (2002-05-31 16:54) [5]

Все ребята, спасибо огромное, просто у меня день тяжелый, наверное, - это же в отладке вылетало, а так все в порядке!


 
VID ©   (2002-05-31 23:31) [6]

to abu: ну ты приколист ! :))) Все уже вовсю репу зачесали, а всё так примитивно просто :)))



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
6-40136
Aleksandr
2002-04-05 12:49
2002.06.13
Как узнать, является указанный путь сетевым или локальным?


6-40143
Теня
2002-04-03 12:38
2002.06.13
Как проверить занятость порта?


4-40211
Eugene "Jek" Efimochkin
2002-04-12 00:02
2002.06.13
Приложение - toolbar


14-40188
Blackweber
2002-05-08 22:43
2002.06.13
HDD Samsung SpinPoint на 60 Gb 5400rpm


14-40153
kaif
2002-05-09 04:52
2002.06.13
Как спасти данные с винча?