Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.15;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.045 c
11-1146297860
Un-man
2006-04-29 12:04
2007.04.15
HotKey?


15-1174645519
Vlad Oshin
2007-03-23 13:25
2007.04.15
Delphi7()Demos()Football - кто-нибудь понял чего там делать надо?


15-1174643044
Post_
2007-03-23 12:44
2007.04.15
Вопросик


15-1174413688
][-m@n
2007-03-20 21:01
2007.04.15
SmartFon


15-1174254497
Tempp
2007-03-19 00:48
2007.04.15
Программирование и экология