Вниз
Скачать: CL | DM;

Exit   Найти похожие ветки 

 
Dmitry_177   (2007-05-06 22:55) [0]

есть примерно такой алгоритм:

try
 ...
 if .. then
   Exit;

 ...

finally
 ...
end;

Так вот посмотрев в отладчике, при вызове Exit функция вылетает, даже не выполнив то что находится в finally. Может есть какя-нибудь другая функция вместо Exit, которая так же выходит из функции, но перед этим выполнив то что находится в finally?


 
McSimm ©   (2007-05-06 23:01) [1]

после Exit блок finally выполняется.


 
{RASkov} ©   (2007-05-06 23:01) [2]

procedure TForm1.Button1Click(Sender: TObject);
begin
 try
  ShowMessage("First");
  Exit;
  ShowMessage("Midle");
 finally
  ShowMessage("End");
 end;
end;
Не видно только Midle..... и это правильно.


 
Dmitry_177   (2007-05-06 23:04) [3]

странно то что в отладчике строки в finally пролетают..


 
McSimm ©   (2007-05-06 23:05) [4]

возможно они были исключены оптимизатором.


 
Amoeba ©   (2007-05-07 15:36) [5]

Abort. Тогда несомненно будет выполнено то, что находится в finally ... end



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
15-1177653950
Odinus
2007-04-27 10:05
2007.05.27
Dreamweaver


2-1178455647
pest_tt
2007-05-06 16:47
2007.05.27
вызов функции stdcall


15-1177705119
lookin
2007-04-28 00:18
2007.05.27
Имена файлов


2-1178881839
Doom-2
2007-05-11 15:10
2007.05.27
:-) Анатомия копирования


6-1163929428
-~-
2006-11-19 12:43
2007.05.27
Пара вопросов про ICS (TWSocket).




   Наверх