Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

try не работает... [D7, XP]


DesertAlex ©   (2006-02-27 14:04:00) 

Всем привет! нет, ну что, совсем я плохой, вроде делаю все, как написано в хелпе...
procedure TForm1.Button2Click(Sender: TObject);
var
a, b, c : single;
begin
b := 6;
c := 0;
try
a := b/c;
except
  on EZeroDivide do ShowMessage('Деление на ноль!');
end;
  Edit1.Text := FloatToStr(a);
end;

и все равно при нажатии на кнопку выдает ошибку времени выполнения EZeroDivide... почему?


novice_man   (2006-02-27 18:00:00) [1]

Покажет всякую муть. Случайное число.
При этом, компилятор придупреждает "переменная "a"  возможно не была инициализирована"


Marser   (2006-02-27 17:43:00) [2]

> Не выкинет.

Хотел возразить, что выкинет, но попробовал - не выкинуло почему-то...


> и все равно при нажатии на кнопку выдает ошибку времени
> выполнения EZeroDivide... почему?

Это сообщение для тебя, юзер его не увидит. Если ты уберешь try..except, то оно выскочит дважды - один раз как сообщение отладчика, а другой - для пользователя.


Marser   (2006-02-27 17:43:00) [3]

> [5] Johnmen ©   (27.02.06 17:41)
> Ну если есть строчка Edit1.Text := FloatToStr(a); то не
> выкинет. Только что этот Едит покажет? :)

Точно :-)


Johnmen   (2006-02-27 17:41:00) [4]

Ну если есть строчка Edit1.Text := FloatToStr(a); то не выкинет. Только что этот Едит покажет? :)


novice_man   (2006-02-27 17:34:00) [5]

Johnmen ©   (27.02.06 15:57) [3]
Не выкинет.


Johnmen   (2006-02-27 15:57:00) [6]

Кстати, не из-под отладчика ошибки вообще не будет. Т.к. компилятор выкинет код в try и до него...:)


Ega23   (2006-02-27 14:07:00) [7]

Или Tools->Debugger Options->Language Exceptions->Stop on Delphi Exceptions галку сними.
Но это не сильно рекомендую. Как-то снял и забыл обратно поставить - потом намучался ошибки ловить


Ega23   (2006-02-27 14:06:00) [8]

Запустись не из-под отладчика, а просто exe.


Наверх

Титульная страница Поиск, карта сайта Написать письмо