Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2006, 13:58   #1
vodyara
 
Регистрация: 20.12.2006
Сообщений: 5
Сообщение Помогите с try...

Допустим имеется вот такой код... Упростил до минимального понимания...
procedure TForm1.Button1Click(Sender: TObject);
var
u: real; // напряжение
r: real; // сопротивление
i: real; // ток
begin
Label1.Caption := '';
try
// инструкции, которые могут
// вызвать исключение (ошибку)
u := StrToFloat(Edit1.Text);
r := StrToFloat(Edit2.Text);
i := u / r;
except
on EZeroDivide do // деление на ноль
begin
ShowMessage('Сопротивление не может быть равно нулю!');
exit;
end;
on EConvertError do // невозможно преобразовать строку символов в число
begin
ShowMessage('Напряжение и сопротивление должны быть заданы числом.' + #13 +'При записи дробного числа используйте запятую.');
exit;
end;
end;
Label1.caption := FloatToStr(i) + ' А';
end;

По идее, при попытке деления на ноль должно вылезти сообщение " 'Сопротивление не может быть равно нулю"... а вместо этого вылвзит самая обычная ошибка! Облазил много форумов по этой теме, но ничего путевого так и не нашел... Как же сделать так, чтобы вылазило сообщение "'Сопротивление не может быть равно нулю!!!" СПАСИБО!

P.S.: Через условие IF...ELSE не катит... Именно нужно try, ни или еще какой-нють другой способ...
vodyara вне форума Ответить с цитированием
Старый 20.12.2006, 14:36   #2
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию дописал 2 строчку

а что тебе мешает вывести Showmessage('Делить на ноль нельзя');

Всё понял в чём дело... Ты откомпилируй код. и потом запускай exe файл.
Alar вне форума Ответить с цитированием
Старый 20.12.2006, 14:50   #3
vodyara
 
Регистрация: 20.12.2006
Сообщений: 5
По умолчанию

Всё! Спасибо за помощь... всего-то нужно было...(ну я только учусь :-) ) Вопрос решен... Если кому-то интересно, отвечу... Если запускать программу в режиме компиляции, то ошибка будет появляться... Если запускать скомпилированный ехе файл, то все будет работать нормально!
vodyara вне форума Ответить с цитированием
Старый 20.12.2006, 15:45   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Отключайте во время подобного дебагинга отображение ошибок компиляции в чем проблема.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск