Главная страница
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.05 c
14-1134823129
iamdanil
2005-12-17 15:38
2006.01.15
Пароль


6-1128405452
-=Germe$=-
2005-10-04 09:57
2006.01.15
Как работать с библиотекой WinSock


8-1123065792
BFG9k
2005-08-03 14:43
2006.01.15
Перетаскивание изображения как в ACDsee


1-1134039576
Владислав
2005-12-08 13:59
2006.01.15
Реализация лог-файла.


3-1131965689
Id
2005-11-14 13:54
2006.01.15
Ошибка при создании таблицы