Главная страница
    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.043 c
15-1174479101
ilopX
2007-03-21 15:11
2007.04.15
Изменение звука в Windows Vista


15-1174256394
Alexander Panov
2007-03-19 01:19
2007.04.15
Вакансия.


2-1174836171
Сорокин М
2007-03-25 19:22
2007.04.15
поиск слов


2-1174547169
sergeyst
2007-03-22 10:06
2007.04.15
Нужно ли осовбождать память?


2-1174808701
APiC
2007-03-25 11:45
2007.04.15
Записи на С++





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