一尘不染

在没有“捕获”的情况下“最终尝试”是否有意义?

java

我看到了一些这样的代码:

    try
    {
        db.store(mydata);
    }
    finally
    {
        db.cleanup();
    }

我以为try应该有一个catch

为什么这段代码这样做呢?


阅读 171

收藏
2020-12-03

共1个答案

一尘不染

如果您希望当前执行的方法仍引发异常,同时允许适当地清理资源,则这很有用。下面是处理调用方法中的异常的具体示例。

public void yourOtherMethod() {
    try {
        yourMethod();
    } catch (YourException ex) {
        // handle exception
    }
}

public void yourMethod() throws YourException {
    try {
        db.store(mydata);
    } finally {
        db.cleanup();
    }
}
2020-12-03