Вниз
Скачать: 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.035 c
1-1175510957
Novice
2007-04-02 14:49
2007.05.27
Процедуры и функции в DLL


1-1175432455
Ururu
2007-04-01 17:00
2007.05.27
Runtime создание TCustomControl


2-1178640144
DeadTeachers
2007-05-08 20:02
2007.05.27
COM - порт


2-1178872082
allucard
2007-05-11 12:28
2007.05.27
Почему компилятор не пропускает


2-1178525796
Lobach
2007-05-07 12:16
2007.05.27
Фреймы




   Наверх