Главная страница
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.028 c
15-1174389112
ocean
2007-03-20 14:11
2007.04.15
Чем отличается Vista Ultimate от Business и Home Premuim?


15-1174296490
Игорь Шевченко
2007-03-19 12:28
2007.04.15
Я люблю подход Unix и не люблю подход Windows


4-1164319174
Goric
2006-11-24 00:59
2007.04.15
CreateService


15-1174417424
TUser
2007-03-20 22:03
2007.04.15
Найти хорошую дорогу


2-1174684736
ramil_yunaliev
2007-03-24 00:18
2007.04.15
ASP.NET и Delphi 2005