Главная страница
    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.018 c
10-1110973750
OlegM
2005-03-16 14:49
2006.01.15
Как в Excele ширину колонок задавать в пикслях?


14-1135064032
stone
2005-12-20 10:33
2006.01.15
Это по-русски...


6-1127746267
kay
2005-09-26 18:51
2006.01.15
Как скачать файл, используя прокси с авторизацией?


3-1132318779
vl
2005-11-18 15:59
2006.01.15
Добавление данных в таблицу


3-1132467009
AleQ
2005-11-20 09:10
2006.01.15
База в Delphi 8





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский