Оператор try ... finally

Оператор try ... finally

Оператор try ... finally имеет вид:

try

операторы

finally

операторы

end;

Операторы в блоке finally выполняются безотносительно к тому, возникло или нет исключение в блоке try. При этом само исключение не обрабатывается.

Блок finally используется для возвращения ранее выделенных ресурсов.

Пример 1. Закрытие открытого файла.

reset(f);

try

...

finally

close(f);

end;

Файл будет закрыт независимо от того, произошло ли ислючение в блоке try.

Пример 2. Возвращение выделенной динамической памяти.

New(p);

try

...

finally

Dispose(p);

end;

Динамическая память, контролируемая указателем p, будет возвращена независимо от того, произошло ли ислючение в блоке try.