Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.04 c
14-1109142688
Cobalt
2005-02-23 10:11
2005.03.13
Программа для отображения места на диске


11-1092467454
Dmitry
2004-08-14 11:10
2005.03.13
Не работают хинты в KOL


1-1109322050
hgd
2005-02-25 12:00
2005.03.13
Повторный запуск приложения


4-1107239151
GMan
2005-02-01 09:25
2005.03.13
Работа со Streams


3-1108234055
Andrey1234124
2005-02-12 21:47
2005.03.13
Русские символы в таблицах Interbase





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