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

Вниз

разбираюсь с обработкой исключений, сразу возник вопрос   Найти похожие ветки 

 
DINOEL ©   (2007-06-21 15:32) [0]

Простой код:
var
 sum:real;

begin

 Try
 Sum:=100/0;
 Except
 Sum:=99.44;
 End;

  Edit2.Text:=FloattoStr(Sum);
end;

Так вот, в поле Edit2.Text попадает не 99.44 а некая строка "INF"
Что бы это значило ?

в то же время ,если делаю так

Sum:=99.44;
Edit2.Text:=FloattoStr(Sum);

То в поле Edit2.Text - попадает нормальное значение...


 
Reindeer Moss Eater ©   (2007-06-21 15:34) [1]

Это гримасы оптимизации


 
Reindeer Moss Eater ©   (2007-06-21 15:36) [2]

реально код Sum:=100/0; никогда не выполняется


 
Reindeer Moss Eater ©   (2007-06-21 15:38) [3]

А некая строка "INF" это сокращение от "infinitive"


 
DINOEL ©   (2007-06-21 15:57) [4]

Reindeer Moss Eater
Спасибо за инфо, но всё-таки ,не совсем понятно почему это дело так получается.


 
DINOEL ©   (2007-06-21 15:58) [5]

Хотя кажется дошёл :)


 
Reindeer Moss Eater ©   (2007-06-21 16:00) [6]

Потому что компилер еще на этапе нажатия F9 "записал" результат.


 
Anatoly Podgoretsky ©   (2007-06-21 16:05) [7]

Реально никакого исключения нет и по современному стандарту и быть не должно, деление на 0 это не ошибка а бесконечность, к сожалению у Борланда в этом деле непоследовательность. Процессор позволяет вырабатывать как INF так и флаг исключения.
Непоследовательность можешь проверить так

A := 0;
Sum := 100/A


 
Anatoly Podgoretsky ©   (2007-06-21 16:05) [8]

> Reindeer Moss Eater  (21.06.2007 16:00:06)  [6]

Заметь правильный в отличии от рантайм


 
Reindeer Moss Eater ©   (2007-06-21 16:08) [9]

Правильный-то он правильный, только что с ним с правильным делать если мы что-то вычисляем?


 
Anatoly Podgoretsky ©   (2007-06-21 16:23) [10]

> Reindeer Moss Eater  (21.06.2007 16:08:09)  [9]

По идее Борланду надо бы сделать параметр к среде для данной цели и согласовать райнтайм и дизайнтайм поведение.



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

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

Наверх




Память: 0.49 MB
Время: 0.027 c
15-1181196883
@!!ex_
2007-06-07 10:14
2007.07.15
Обратная матрица. Метод Гаусса.


15-1181582567
DillerXX
2007-06-11 21:22
2007.07.15
Вопрос к тем, кто программировал мобильники


15-1181950866
ShadowGM
2007-06-16 03:41
2007.07.15
Буффер обмена


15-1181700973
Slider007
2007-06-13 06:16
2007.07.15
С днем рождения ! 13 июня 2007 среда


15-1181625712
boriskb
2007-06-12 09:21
2007.07.15
Коллекция книг по компьютерной тематике,