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

Вниз

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

Наверх




Память: 0.48 MB
Время: 0.057 c
15-1177066657
ArtemESC
2007-04-20 14:57
2007.05.20
Перенаправление почты с mail.ru


15-1177008581
Prohodil Mimo
2007-04-19 22:49
2007.05.20
Как написать наследника от TForm?


15-1175945059
Чапаев
2007-04-07 15:24
2007.05.20
Оцените резюме, плз


1-1174416311
Malik
2007-03-20 21:45
2007.05.20
Масштабирование StringGrid a перед распечаткой


2-1178083896
RomanLN
2007-05-02 09:31
2007.05.20
Вопросы по БД