Форум: "Основная";
Текущий архив: 2002.06.13;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c