Главная страница
    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.044 c
1-1109425932
Checist [root]
2005-02-26 16:52
2005.03.13
Создание новой формы


6-1105441833
msguns
2005-01-11 14:10
2005.03.13
Программный доступ к серверу в режиме root


3-1108037879
Denmin
2005-02-10 15:17
2005.03.13
Можно ли в таблице поставить фильтр?


4-1106171583
ввх
2005-01-20 00:53
2005.03.13
Как получить серийный номер материнской платы


14-1108885148
__max__
2005-02-20 10:39
2005.03.13
Шифрование файлов в ф.с. NTFS





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