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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2008, 21:22   #1
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
Вопрос Проблема TRY ... EXCEPT ... END

Здравствуйте.
Извините за столь простой вопрос, если Вы его таковым считаете, но я к сожалению не смог в нем разобраться. Прочитал литературу и кажется что делаю все правильно, однако ничего не получается.

Вот код (Смастерил на скорую руку):
Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:extended;
    i:integer;
begin
  b:=20;
  c:=0;
  for i:=-5 to 5 do begin
    c:=c+1;
    try
      a:=b/i;
      ListBox1.Items.Add('Шаг '+FloatToStr(c)+'a = '+FloatToStr(a));
    except
      on EZeroDivide do ListBox1.Items.Add('Шаг '+FloatToStr(c)+'Ошибка деления!');
    end;
  end;
end;
Число b однажды должно поделиться на 0 и в этом случае по идее должен выполниться фрагмент EXCEPT ... END, но при выполнении кода выдается ошибка EZeroDivide. А нужно чтобы вместо ошибки выполнялся какой-то код. В чем моя ошибка, как нужно правильно записать такой код?

Благодарю!
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 03.11.2008, 21:27   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

А программа запускается сама по себе или из-под Дельфи? Если второе, то Дельфи перехватывает прерывания (по умолчанию).
Jeni вне форума Ответить с цитированием
Старый 03.11.2008, 21:34   #3
odi_noki
Пользователь
 
Регистрация: 23.06.2008
Сообщений: 77
По умолчанию

В Делфи7 например делается так -
Tools/Debugger Options на вкладке Language Exceptions нужно снять флаг Stop On Delphi Exceptions
odi_noki вне форума Ответить с цитированием
Старый 03.11.2008, 22:04   #4
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Спасибо всем большое! Значит код правильный, проблема в опциях программы.
лучший подарок женщине-программисту

Последний раз редактировалось chandrasecar; 03.11.2008 в 22:08.
chandrasecar вне форума Ответить с цитированием
Старый 05.11.2008, 01:17   #5
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от chandrasecar Посмотреть сообщение
Спасибо всем большое! Значит код правильный, проблема в опциях программы.
Я обычно для проверки обработки исключений компилирую и запуская непосредственно экзеху с папки...
Arkuz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
expected END but : found qqanton Помощь студентам 2 31.10.2008 17:45
unexpected end of file while looking for precompiled header directive StakanpORTvejna Общие вопросы C/C++ 7 10.06.2008 17:52
проверить правильность расстановки операторов begin и end Тёмка Помощь студентам 1 10.12.2007 13:07