Java有一个finalize块,允许在一个块离开后执行一些语句(即使引发了异常也会执行).例:
try {
...
} catch (Exception e) {
...
} finally {
... // any code here
}
Run Code Online (Sandbox Code Playgroud)
Ada具有允许实现Finalize操作的受控对象,但没有与java中相同的finalize块.这对于记录,关闭文件,事务等非常有用(无需为每个可能的块创建特定的标记类型).