Шаг 78.
Совместное использование блоков try...except и try...finally

    На этом шаге мы приведем правила совместного использования рассмотренных блоков.

    Совместное использование вложенных блоков try...except и try...finally позволяет одновременно извлечь преимущества, предоставляемые каждым из блоков: возможность описания реакции на конкретные исключения с помощью on...do в блоке try...except и возможность выполнить завершающую группу обязательных операторов вне зависимости от возникновения каких-либо исключительных ситуаций с помощью блока try...finally. На практике находят применение оба варианта вложенных блоков, структуру которых неформально можно представить в следующем виде.

    Первый вариант:

try	
  try	
    <СписокОператоров1>	
  except	
    on <Исключение1> do <Оператор1>;
    on <Исключение2> do <Оператор2>;
       .   .   .   .
    on <ИсключениеN> do <ОператорN>
  else	
    <СписокОператоров2>
  end;	
finally	
  <СписокОператоров3>
end;	

    Второй вариант:

try 
  try
    <СписокОператоров1> 
  finally
    <СписокОператоров2> 
  end; 
except
  on <Исключение1> do <Оператор1>; 
  on <Исключение2> do <Оператор2>;
       .   .   .   .
  on <ИсключениеN> do <ОператорN> 
else
  <СписокОператоров3> 
end;

    На следующем шаге мы рассмотрим пример использования рассмотренных блоков.




Предыдущий шаг Содержание Следующий шаг