Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Delphi: объясните как работают слова TRY FINALLY EXCEPT ?Спасибо.

Оранжевая рубашка Мудрец (13338), закрыт 16 лет назад
Спасибо.
Лучший ответ
Алексей Пастухов Гуру (2527) 16 лет назад
try
операторы могушие привести к ошибке
except
операторы которые выполняются если ошибка таки была
end;

try
операторы могушие привести к ошибке
finally
операторы которые выполняются не зависимо была ошибка или нет
end;
Остальные ответы
Александр Ильин Просветленный (40212) 16 лет назад
Дополню предыдущего оратора:
Внутри блока try-except также возможна обработка всех или выборочных исключений, для этого пишем

try
защищаемые операторы
except
on [Тип_исключения] do [операторы_обработки_исключения]
on [Другой_тип_исключения] do [операторы_обработки_исключения]
else
[обработчик_прочих_исключений]
end

Секция else - опциональная, т. е. ее может и не быть
В хелпе это все подробно разжевано.

Теперь вкратце зачем нужно то и другое.
try-except используют в случаях, когда возникшая по какой-либо причине ошибка, например при отсутствии файла, или при ошибке доступа к таблице БД, должна быть обработана каким-либо образом, например отсутствующий файл создастся.
try-finally же используется для того, чтобы при любых ошибках корректно освободить занятые ранее критические ресурсы. Например, в начале блока программа запрашивает большой объем памяти, и чтобы избежать ее утечки, все действия с этим объемом заключаются внутри try, а в блоке finally эта память освобождается. Тогда даже при случайном сбое эта память не будет потеряна.
Похожие вопросы