|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.11.2008, 23:36 | #1 |
Пользователь
Регистрация: 15.12.2007
Сообщений: 44
|
Исключения
Здраствуйте
Разбираюсь с исключениями, накалякал такой пример Код:
Но как только добавляю гениальную строчку Form1.Caption:=FloatToStr(x); все начинает работать: Код:
Уже бьюсь головой об стену |
12.11.2008, 00:01 | #2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Эт оптимизация виновата. В первом случае переменная х нигде не используется, поэтому компилятор её не включает в конечный код - вот и нет ошибки! Во втором случае переменная включается в код, т.к. она дальше используется - вот тут всё "логично"
|
12.11.2008, 00:02 | #3 |
Пользователь
Регистрация: 15.12.2007
Сообщений: 44
|
Спасибо большое
|
12.11.2008, 00:10 | #4 |
Пользователь
Регистрация: 15.12.2007
Сообщений: 44
|
а такой пример
Код:
|
12.11.2008, 00:18 | #5 |
Пользователь
Регистрация: 24.10.2008
Сообщений: 17
|
и действительно странно. деление на ноль - мгновенное EZeroDivide.
Может стоит покапаться в Tools - DebuggerOptions - OSExceptions |
12.11.2008, 00:29 | #6 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
c нигде не используется дальше...
Всё та же оптимизация. Откомпилируйте код и посмотрите, что около этих строк нет отметок слева (синих точек нет). Или пошагово программу пройдите - результат вас убедит Добавлено Свойства проекта - вкладка компилятор - уберите оптимизацию, тогда всё будет "как нужно" Последний раз редактировалось eoln; 12.11.2008 в 00:33. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оператор исключения | Titan123 | Общие вопросы Delphi | 12 | 08.07.2008 14:30 |
Нужна программа исключения списков строк | AFOMENKO | Фриланс | 8 | 11.12.2007 00:22 |