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

Вниз

try finally end   Найти похожие ветки 

 
Cooller   (2007-03-22 11:39) [0]

begin
try
while (xxx) do S1;
S2;
finally
S3;
end;
S4;
end;


Если ли вариант во время выполнения блока S1 перейти сразу к выполнению S3, чтобы потом еще выполнился блок S4?


 
Сергей М. ©   (2007-03-22 11:42) [1]


> во время выполнения блока S1 перейти сразу к выполнению
> S3


Это как это ?!


 
Cooller   (2007-03-22 11:44) [2]

Ну допустим если использовать exit, то из S1 управление перейдет сразу в S3, но S4 выполнен не будет


 
Cooller   (2007-03-22 11:45) [3]

Нужный результат будет достигнут если в S1 произойдет исключение...


 
Сергей М. ©   (2007-03-22 11:45) [4]

try
while (xxx) do S1; //в блоке S1 возбудить любое исключение
S2;
except
S3;
end;
S4;

Это что ли имелось ввиду ?


 
clickmaker ©   (2007-03-22 11:45) [5]

а почему бы S4 не забрать в finally?


 
Правильный Вася   (2007-03-22 11:46) [6]

косовата логика


 
Сергей М. ©   (2007-03-22 11:48) [7]


> Cooller   (22.03.07 11:45) [3]
>
> Нужный результат будет достигнут если в S1 произойдет исключение


Не будет он достигнут - S4 выполнен не будет, поскольку при finally исключение не будет "погашено"


 
ЮЮ ©   (2007-03-22 11:54) [8]

begin
 try
   doS2 := false; //или true, заависит от логики
   while (xxx) do S1; //в блоке можно переопределить doS2
   if doS2 then S2;
 finally
   S3;
 end;
 S4;
end;


 
Аноним   (2007-03-22 11:56) [9]

Да, лучше через

> if doS2 then S2;


чем через доп. секцию except, так прозрачнее



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

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

Наверх




Память: 0.45 MB
Время: 0.039 c
2-1178185101
Ken9
2007-05-03 13:38
2007.05.20
Получение средствами дельфи html страницы с веб-сервера


15-1176990214
divisi
2007-04-19 17:43
2007.05.20
Розроботка Игор


1-1174366976
kolius
2007-03-20 08:02
2007.05.20
Цвет в Richedit


2-1177570495
PL
2007-04-26 10:54
2007.05.20
Не могу понять в чем проблема


2-1178108113
RomanLN
2007-05-02 16:15
2007.05.20
создание и редоктирование таблиц





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