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

Вниз

Как выкрутиться из такой ситуациии...   Найти похожие ветки 

 
Jolik ©   (2007-03-27 18:32) [0]

При закрытии приложения у каждого из нас встает задача закрытия ресурсов и пр. При этом в каждой строчке исполняемого кода может возникнуть необработанное исключение и остальные операторы не выполняться.
Поясню:

destructor Destroy;
begin
 Operator1;
 Operator2;
 Operator3;
end;

Например - если в Operator1 возникнет исключение - Operator2 и Operator3 не выполняца. try finally end тоже не помогут - ибо в секции finally тже может возникнуть исключение.
Так что-же делать? Каждый оператор включать в секцию try except end?
Т.е. вот так:

destructor Destroy;
begin
 try
   Operator1;
 except
   // обработка
 end;
 try
   Operator2;
 except
   // обработка
 end;
 try
   Operator3;
 except
   // обработка
 end;
end;


Заранее благодарен!


 
Правильный Вася   (2007-03-27 18:34) [1]

при закрытии приложения все это лишнее, винда сама зачистит
а в других ситуациях - по обстановке


 
Leonid Troyanovsky ©   (2007-03-27 18:37) [2]


> Jolik ©   (27.03.07 18:32)

> При закрытии приложения у каждого из нас встает задача закрытия
> ресурсов и пр.

Это не наша задача.
Озаботься лучше сохранением того, что дорого юзеру.

--
Regards, LVT.


 
Jolik ©   (2007-03-27 18:42) [3]

так я это и имею ввиду...
например Operator1 сохраняет данные одного юзера, Operator2 - вторрого и т.д. Получаеца, чтобы все данные сохранились мне все их засовывать в свои try except end?
Не очень красиво - может есть какой другой вариант?


 
Dismember ©   (2007-03-27 18:49) [4]

Обычно в блоки try except end пишут то, что потенциально может вызвать ошибку. У тебя ведь не каждая строчка кода способна вызвать ошибку?


 
Krants   (2007-03-27 18:53) [5]

for i:=0 to OperatorCount-1 do
try
Operator[i];
except
...
end;

Возможно и так, если структура "операторов" одинакова...


 
Жуков Олег   (2007-03-27 19:03) [6]

try
 operator1;
finally
 try
   operator2;
 finally
   operator3;
 end;
end;


 
Плохиш ©   (2007-03-28 01:27) [7]


> Jolik ©   (27.03.07 18:32)  
> При закрытии приложения у каждого из нас встает задача закрытия
> ресурсов

Мне бы твои проблемы...



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

Форум: "Начинающим";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.04 c
3-1170010074
Slaviq
2007-01-28 21:47
2007.04.15
Delphi +SomeEmbidedDB + xBundle (Themedia)


10-1131279789
Shopot
2005-11-06 15:23
2007.04.15
OLE, COM с чего начать?


2-1174671791
Юзер2000
2007-03-23 20:43
2007.04.15
Locate возвращает стринг???


15-1174320124
ferr
2007-03-19 19:02
2007.04.15
Монитор.


2-1174405904
quott
2007-03-20 18:51
2007.04.15
TDateTime





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