Оператор 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
.