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

Вниз

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 вся ветка

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

Наверх





Память: 0.44 MB
Время: 0.005 c
4-1228894242
Хмм
2008-12-10 10:30
2010.02.07
Кликер


3-1234422961
dolmat
2009-02-12 10:16
2010.02.07
как создать триггер


1-1229882763
mefodiy
2008-12-21 21:06
2010.02.07
Центрирование содержимого ячейки по вертикали в таблице Word


1-1237222317
harisma
2009-03-16 19:51
2010.02.07
Значение параметра по умолчанию для интерфейсного метода.


2-1260419453
novai
2009-12-10 07:30
2010.02.07
Парсер строки





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