如果不是,假设这个外流的关闭方法在接下来的一个小时内会失败,我应该如何保证资源被释放?
我已经阅读了关闭自动关闭的正确方法,但没有关于尝试资源如何确保资源被释放的答案。
谢谢。
Try-with-resouces 确保close()
总是被调用,就是这样。如果close()
方法引发异常,它不会对资源执行任何其他操作,因为没有其他操作可以执行。
如果close()
引发异常,则应认为资源已释放,但它可能使资源处于不完整状态。 例如,关闭OutputStream
可能会刷新最终缓冲区,并且该数据的写入可能会失败,从而使资源(例如文件(缺少最后一个数据块。