Главная страница
    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.041 c
11-1091803299
Дмитрий Галин
2004-08-06 18:41
2005.03.13
Ошибка компиляции после установки компонента


4-1107326689
greenbloody
2005-02-02 09:44
2005.03.13
Логическое имя CD


3-1108144152
Oleg_
2005-02-11 20:49
2005.03.13
как после открытия query указать что некоторое поле вычисляемое?


8-1101141268
Lisii
2004-11-22 19:34
2005.03.13
OpenGL


14-1108629326
КаПиБаРа
2005-02-17 11:35
2005.03.13
Психологическая разгрузка





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