Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.014 c
3-1132321106
Jok
2005-11-18 16:38
2006.01.15
TClientDataSet.ApplyUpdates(-1)


2-1135581818
ADO
2005-12-26 10:23
2006.01.15
Пытаюсь подключится к MS SQL 2000 через ADO


5-1120834246
Aleksandr.
2005-07-08 18:50
2006.01.15
Как Bmp включить в package?


2-1135248850
Scorpio
2005-12-22 13:54
2006.01.15
Oracle


1-1134338093
MegaVovan
2005-12-12 00:54
2006.01.15
Как узнать на каком компоненте нажата правая кнопка мыши





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский