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

Вниз

try except end   Найти похожие ветки 

 
lessi   (2007-07-28 16:08) [0]

У меня есть мною написанная процедура, которую я заключаю в это исключение. В ней ошибки могут возникнуть по разным причинам(файл, конвертация и прочее). Вопрос: при возникновении ошибок программа должна вылетать при наличии исключения или я что-то неправильно делаю. Код примерно следующий:
try
myproc(dd);
except
.....
end;

Как я понял при наличии ошибки, программа не будет прерываться. Может я не прав? И что мне тогда делать?


 
Инс ©   (2007-07-28 16:58) [1]


> У меня есть мною написанная процедура, которую я заключаю
> в это исключение.

try..except..end - это не исключение, а блок обработки исключений. А исключение - это ненормальная ситуация, требующая прервать обычное выполнение программы и перейти к его обработке. Когда в программе возникает исключение, система перехватывает его, и начинает искать обработчик. Когда находит - передает управление в него. Ключевые слова try..except..end заставляют компилятор сгенерировать такой код, который позволит системе (в случае возникновения исключения в блоке между try и except) найти в качестве обработчика код, расположенный между except и end, и передать управление туда.


> Как я понял при наличии ошибки, программа не будет прерываться.

Смотря что вы имеете в виду. В принципе - будет. Как только возникнет исключение, выполнение будет продолжено не с того места, где оно возникло, а с блока except..end.


> И что мне тогда делать?

Уберите флажок Stop on Delphi Exception в Debug Options. Тогда при запуске из под среды выполение не будет прерываться при исключении.



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

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
2-1185099170
Владимир Макарович
2007-07-22 14:12
2007.08.19
Вопросы по программированию


15-1184726336
Slider007
2007-07-18 06:38
2007.08.19
С днем рождения ! 18 июля 2007 среда


3-1178186695
Slider007
2007-05-03 14:04
2007.08.19
Интерфейс для создания документа


4-1172557563
GrayFace
2007-02-27 09:26
2007.08.19
"Сбросить" ListView_SetColumnWidth при ViewStyle = vsList


2-1185530869
gray_falcon
2007-07-27 14:07
2007.08.19
помогите написать скрипт-движок