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

Вниз

Обработка исключения   Найти похожие ветки 

 
neat   (2005-12-23 08:27) [0]

Здравствуйте Все! Создал простой пример для проверки кода, но работа программы останавливается на строке e := m/d с выдачей сообщения об исключительной ситуации EZeroDevide, хотя именно его я и пытаюсь обойти, создав свой обработчик. Не пойму в чём дело. Что не правильно ?

var  m, d : word;
   e : real;
begin
    m := 100;
    d := 0;
    try
       e := m/d;
       Edit1.Text := FloatToStr(e);
    except
       MessageDlg("Деление на ноль !", mtError, [mbOk], 0);
    end;


 
Digitman ©   (2005-12-23 09:06) [1]

в настройках Делфи сними галку Stop On Delphi Exceptions


 
neat   (2005-12-23 09:15) [2]

Нашёл, снял, работает! Спасибо Digitman


 
evvcom ©   (2005-12-23 09:25) [3]

Но лучше эту галку не снимать, а в своем коде, если ожидаешь ошибки, ее предотвратить типа
 if d = 0 then begin
   MessageDlg("Деление на ноль !", mtError, [mbOk], 0);
   Exit;
 end
 else
   e := m/d;

чем допускать исключение


 
neat   (2005-12-23 10:12) [4]

evvcom благодарю за совет, но дело было не в этом самом нуле, а в том, что не работала конструкция try...except и я никак не мог понять в чём дело. А проверки, типа предложенной тобой, я конечно использую.


 
evvcom ©   (2005-12-23 10:59) [5]


> а в том, что не работала конструкция try...except

она работала, просто отладчик ловил это исключение и сообщал тебе об этом, чтобы ты обратил внимание и поправил. Если поставить бряк на строке в except и далее F9, то увидишь, что отладчик потом там остановится.


 
neat   (2005-12-23 11:18) [6]

evvcom, так и было, мне было не понятно, почему сообщение отладчика вообще появляется (перед моим), ведь не должно было после ввода конструкции try...except. Прошу прощения, по-моему уже всё ясно, не будем больше время тратить на это обсуждение.


 
Плохиш ©   (2005-12-23 11:25) [7]


> ведь не должно было после ввода конструкции try...except.

Это ты где-то прочитал или сам придумал?



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

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

Наверх




Память: 0.48 MB
Время: 0.043 c
6-1127965848
VolanD666
2005-09-29 07:50
2006.01.15
Проблема передачи файлов


14-1134720203
Igorek
2005-12-16 11:03
2006.01.15
А не завести ли форум Политика?


1-1134468035
markers
2005-12-13 13:00
2006.01.15
Non-visual замена ListView&


14-1135006740
Ник11111111
2005-12-19 18:39
2006.01.15
Помогите первокурснику


2-1135628629
Danja
2005-12-26 23:23
2006.01.15
Pen.Color