Вниз
Скачать: CL | DM;

Глобальная обработка ошибок приложения   Найти похожие ветки 

← →
oleg_SYS ©   (2005-02-26 02:44) [0]

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

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

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


← →
Германн ©   (2005-02-26 02:58) [1]

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


← →
novice_man ©   (2005-02-26 05:44) [2]


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


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


← →
Anatoly Podgoretsky ©   (2005-02-26 09:23) [3]

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


← →
PZ   (2005-02-26 10:12) [4]

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


← →
Anatoly Podgoretsky ©   (2005-02-26 10:18) [5]

Еще не вечер.


← →
TUser ©   (2005-02-26 11:18) [6]

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


← →
oleg_SYS ©   (2005-02-26 13:50) [7]

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

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


← →
Anatoly Podgoretsky ©   (2005-02-26 13:59) [8]

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


← →
novice_man ©   (2005-02-26 14:11) [9]


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

Ну и .....


← →
oleg_SYS ©   (2005-02-26 16:22) [10]

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


← →
Anatoly Podgoretsky ©   (2005-02-26 16:35) [11]

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


← →
kaZaNoVa ©   (2005-02-26 21:35) [12]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.024 c
4-1106209448
alpet
2005-01-20 11:24
2005.03.13
Не стираемое окно.


3-1108199545
Bogdan
2005-02-12 12:12
2005.03.13
Ошибка при запросе


3-1108286719
m-a-x
2005-02-13 12:25
2005.03.13
фильтрация


14-1108800498
kaZaNoVa
2005-02-19 11:08
2005.03.13
Сжатие контента, экономия траффика


4-1107179861
TAHAT
2005-01-31 16:57
2005.03.13
Как приостановить выполнение функции, вызванной из DLL




   Наверх