В Java есть блок finalize, который позволяет выполнять некоторые операторы после блока остается (выполняется даже в случае возникновения исключения). Пример:
try {
...
} catch (Exception e) {
...
} finally {
... // any code here
}
Ada имеет контролируемые объекты, которые позволяют реализовать операцию Finalize . но нет эквивалента блока finalize, как в java. Это полезно для ведения журнала, закрытие файлов, транзакций и т. д. (без необходимости создания определенного помеченного типа для каждого возможного блока).