Лучшая практика для реализации в Ada (2005 или 2012) эквивалента блока java finalize

В Java есть блок finalize, который позволяет выполнять некоторые операторы после блока остается (выполняется даже в случае возникновения исключения). Пример:

try {
  ...
} catch (Exception e) {
  ...
} finally {
  ... // any code here
}

Ada имеет контролируемые объекты, которые позволяют реализовать операцию Finalize . но нет эквивалента блока finalize, как в java. Это полезно для ведения журнала, закрытие файлов, транзакций и т. д. (без необходимости создания определенного помеченного типа для каждого возможного блока).

  1. Как бы вы реализовали такой блок finalize в Ada 2005 (при сохранении читабельности кода)?
  2. Есть ли планы в отношении Ада 2012, позволяющая легко выполнять любой код завершения?
6
задан ciceron 27 January 2011 в 21:54
поделиться