在C++中,我们在构造函数中获取资源并在析构函数中释放它.
因此,当异常在函数中间上升时,将不会出现资源泄漏或锁定的互斥锁等等.
AFAIK java类没有析构函数.那么如何在Java中进行资源管理呢?
例如:
public int foo() { Resource f = new Resource(); DoSomething(f); f.Release(); }
如果DoSomething抛出异常,如何释放资源?我们不能把try\catch块放在代码上,是吗?