Введение в программирование. Pascal и Delphi. Гурьянов Л.В - 127 стр.

UptoLike

126
Следующие за
try операторы исполняются в обычном порядке.
Если за это время не возникло никаких исключительных ситуаций,
далее следуют те операторы, которые стоят после
finally.
В случае, если между
try и finally произошла исключительная
ситуация, управление немедленно передается на операторы после
finally, которые называются кодом очистки.
Пример:
type
pList = ^TList;
TList = record
. . .
end;
var
p1: pList;
begin
new(p1);
try
. . .
finally
dispose(p1);
p1:=Nil;
end;
end.
Операторы
try…finally выполняют только определенные дейст-
вия, связанные с освобождением ресурсов, но не обрабатывают саму
исключительную ситуацию.
   Следующие за try операторы исполняются в обычном порядке.
Если за это время не возникло никаких исключительных ситуаций,
далее следуют те операторы, которые стоят после finally.
   В случае, если между try и finally произошла исключительная
ситуация, управление немедленно передается на операторы после
finally, которые называются кодом очистки.

  Пример:
  type
    pList = ^TList;
    TList = record
      ...
    end;
  var
    p1: pList;
  begin
    new(p1);
    try
      ...
    finally
       dispose(p1);
       p1:=Nil;
    end;
  end.


   Операторы try…finally выполняют только определенные дейст-
вия, связанные с освобождением ресурсов, но не обрабатывают саму
исключительную ситуацию.




                              126