Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.042 c
11-1165397751
Don
2006-12-06 12:35
2007.07.15
TreeView.TVInsert


3-1176733980
Чародей
2007-04-16 18:33
2007.07.15
Параметр


2-1182251677
zsergey
2007-06-19 15:14
2007.07.15
не работает фильтр Like % ...


15-1181992694
inet
2007-06-16 15:18
2007.07.15
Как проще всего закрыть доступ к сайтам?


15-1181904165
Piter
2007-06-15 14:42
2007.07.15
Мощность мотоциклов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский