在Ada(2005或2012)中实现相当于java finalize块的最佳实践
Java具有finalize块,允许在块之后执行一些语句
保留(即使引发异常也会执行)。例:
try {
...
} catch (Exception e) {
...
} finally {
... // any code here
}
Ada具有允许实现Finalize操作的受控对象
但是没有与java中相同的finalize块。这对于日志记录非常有用
关闭文件,事务等(无需为每个可能的块创建特定的标记类型)。
你将如何在Ada 2005中实现这样的终结块(同时保持代码可读)?
Ada 2012是否有计划允许轻松执行任何终结代码?
没有找到相关结果
已邀请:
5 个回复
淘圃跺枯替
或
成功打印出
。这是T.E.D建议的实施。 在Mac OS X,Darwin 10.6.0上使用GCC 4.5.0进行测试。
联课
更类似于析构函数。 为了得到一些近似于异常/最终序列的东西,你可以沿着这些方向做一些事情(警告,没有编译,只是输入 - 我们将一起解决任何错误:-)另请参阅Ada RM的例外部分。
醒荒捆府绣
到街客核
妊辽剁茧
在我看来,也许有一种方法可以用受保护的对象做这样的事情。我会留下那个让其他人知道的。