Главная страница
    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.037 c
1-1172067206
sia
2007-02-21 17:13
2007.04.15
что находится под курсором мыши?


1-1171803886
Moo-Moo-
2007-02-18 16:04
2007.04.15
drag-and-drop


15-1174328422
koha
2007-03-19 21:20
2007.04.15
Можно ли два "Диалапа" одновременно юзать?


3-1169628531
pavel_guzhanov
2007-01-24 11:48
2007.04.15
Как передать параметр в хранимую процедуру


15-1174164140
Cerberus
2007-03-17 23:42
2007.04.15
Перевод справки по Win Api





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