Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Глобальная обработка ошибок приложения [D6, WinXP]


oleg_SYS ©   (2005-02-26 02:44:00) 

Есть программа, в которой очень много процедур и функций. Чтобы не ставить везде try..except, я решил использовать глобальную обработку ошибок Application.OnException. Но возникла проблема: при исключениях код процедур прерывается. Как мне реализовать такой вариант с помощью Application.OnException:

try
операция 1;
операция 2;
…
операция n;
except
{ничего не делаем}
end;

В данном примере при возникновении исключения в операции n операция n + 1 все равно будет выполняться.


kaZaNoVa   (2005-02-26 21:35:00) [1]

Anatoly Podgoretsky ©   (26.02.05 16:35) [11]
COOL!


Anatoly Podgoretsky   (2005-02-26 16:35:00) [2]

А вам шашечки или ехать?


oleg_SYS   (2005-02-26 16:22:00) [3]

novice_man, ну а если у меня таких процедур 50 что мне везде ставить try.. except?


novice_man   (2005-02-26 14:11:00) [4]


> oleg_SYS ©   (26.02.05 13:50) [7]

Ну и .....


Anatoly Podgoretsky   (2005-02-26 13:59:00) [5]

Ну это мы знаем.


oleg_SYS   (2005-02-26 13:50:00) [6]

Прошу прощения, я не правильно выразился. Вот пример, при котором во время возникновения исключений код выполняется до конца:

procedure TForm1.Button1Click(Sender: TObject);
begin
{операция 1}
try
StrToInt('число');
except
end;
{операция 2}
ShowMessage('Операция 2');
{операция 3}
try
StrToFloat('число');
except
end;
{операция 4}
ShowMessage('Операция 4');
end;


TUser   (2005-02-26 11:18:00) [7]

OnException не отменяет try-блоков, а лишь дополняет их и усиливает.


Anatoly Podgoretsky   (2005-02-26 10:18:00) [8]

Еще не вечер.


PZ   (2005-02-26 10:12:00) [9]

Я думаю, его интересует операция i (1..i..n). Вот, если бы он уточнил.


Anatoly Podgoretsky   (2005-02-26 09:23:00) [10]

novice_man ©   (26.02.05 05:44) [2]
То что возникнет в 2, не интересует автора, его интересует как выполнить несуществующий n+1, вот попробуй на это ответить.


novice_man   (2005-02-26 05:44:00) [11]


>try
>операция 1;
>операция 2;
>…
>операция n;
>except
>{ничего не делаем}
> end;


Даже если excetion возникнет в операция 2то управление перейдет в секцию except end, а не как не на следующий опертор.


Германн   (2005-02-26 02:58:00) [12]

2 oleg_SYS ©   (26.02.05 02:44)
В твоем примере "операции n+1" - просто нет! И нечего обсужлать. И не на что отвечать. И нечего предложить!
Уточни вопрос!


Наверх

Титульная страница Поиск, карта сайта Написать письмо