Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: 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 вся ветка

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
1-1109616049
_RusLAN
2005-02-28 21:40
2005.03.13
StringGrid + ListBox (в каждой ячейке)


3-1108376033
Jel
2005-02-14 13:13
2005.03.13
Ошибка "Field value required" при выполнении INSERT


8-1100757230
Centr
2004-11-18 08:53
2005.03.13
куда щелкнул юзер?


1-1109606905
ПроНыРа
2005-02-28 19:08
2005.03.13
ListView & PopupMenu


14-1109005883
Дмитрий В. Белькевич
2005-02-21 20:11
2005.03.13
read_port_buffer_ulong