Справочник функций и процедур Delphi: Finally

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

Finally
Ключевое слово
Начинает безоговорочный раздел кода инструкции Try unit
  
Try
   Statement
  {Statement...}
 Finally
   Statement
  {Statement...}
End;

Delphi Sources

Описание
Ключевое слово Finally используется, чтобы отметить начало конечного блока инструкций в инструкции Try. Они будут выполнены независимо от того, что случится в инструкциях Try.

Однако, предложение Finally фактически не обрабатывает никаких исключений - программа закончится, если никакое предложение Except не найдено (см. примечания ниже).

Try-Finally обычно используется подпрограммой, чтобы позволить освободить ресурсы.
Примечания
Try
  ...
Except
  ...
Finally
  ...
End;


где исключения заманены в ловушку и обработаны, но в любом случае, набор инструкций очистки будут выполнены. Это может быть достигнуто с помощью вложенных инструкций Try:

Try
  Try
    ...
  Except
    ...
  End;
Finally
  ...
End;
Похожие команды
Except  Начинает предложение заманивающее в ловушку ошибки Try инструкции

On  Определяет обработку особых ситуаций в предложении Try Except

Raise  Поднимает исключение

Try  Начинает код, который перехватывает ошибки

 
Пример кода : Деление на ноль с предложением finally
var
  number, zero : Integer;
begin
  // Попытка деленя целого числа на нуль - чтобы поднять исключение
  number := -1;
  Try
    zero   := 0;
    number := 1 div zero;
    ShowMessage('number / zero = '+IntToStr(number));
  Finally
    if number = -1 then
    begin
      ShowMessage('Числу не было присвоено значение - использование значения по умолчанию');
      number := 0;
    end;
  end;
end;

Числу не было присвоено значение - использование значения по умолчанию

Затем, программа заканчивается с сообщением об ошибке EDivByZero -, предложение finally не выловило ошибку.
 


Последние добавленные на сайт исходники

DeLiKaTeS Tetris (Тетрис)

TDictionary Custom Sort

Fast Watermark Sources

3D Designer

Sik Screen Capture

Patch Maker

 

Айболит (remote control)

ListBox Drag & Drop

Доска для игры Реверси

Графические эффекты

Рисование по маске

Перетаскивание изображений

 

Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software (источник – "DelphiBasics")

Группа ВКонтакте