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

Exit из except-скобок   Найти похожие ветки 

← →
RWolf ©   (2009-12-10 18:04) [0]

Вот тут http://www.compress.ru/article.aspx?id=10605&iid=433 пишут, что сабж ведёт к трудоуловимым глюкам; так ли это? и если да, то каков механизм их появления?


← →
Юрий Зотов ©   (2009-12-10 18:41) [1]

Вообще-то, в статье по сссылке речь идет об Exit из блоков ry-finall, а не из блоков try-except:

> по поводу защищенных блоков можно сделать следующее замечание: по
> крайней мере в Delphi 3 нельзя было вставлять оператор Exit внутри
> защищенного блока. Это неминуемо приводило к исключению, причем в
> точке, далеко отстоящей от выхода из метода. Данная ошибка очень
> трудно поддается обнаружению.

Не помню уже, как было дело в D3, а в D7 (и, видимо, более поздних тоже) ничего необычного не происходит, по крайней мере в таком коде:

try
 ...
 if ... then Exit;
 ...
finally
 ...
end;

причем секция finally, как ей и положено, срабатывает в любом случае.


← →
sniknik ©   (2009-12-10 19:10) [2]

> причем секция finally, как ей и положено, срабатывает в любом случае.
точно так. очень часто использую подобную конструкцию и ни разу "не нарывался". никаких странных "далеко отстоящих от выхода из метода" ошибок.


← →
Ганя   (2009-12-10 19:27) [3]

Нарывался на проскакивание мимо секции finally при exit на старых версиях (приблизительно D4-D5). На новых версиях косяков не замечено



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

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



Память: 0.45 MB
Время: 0.008 c
11-1211311083
Vinum
2008-05-20 23:18
2010.02.07
Крутим колесико над PaintBox


15-1259667219
Marser
2009-12-01 14:33
2010.02.07
Утилита для работы с XML


15-1259755160
Palladin
2009-12-02 14:59
2010.02.07
"Облагораживание" Windows XP


2-1260429916
Danco
2009-12-10 10:25
2010.02.07
Функция Translite


15-1259705429
Германн
2009-12-02 01:10
2010.02.07
Или у меня глюки, или что-то изменилось.




   Наверх