java编程课程培训学习笔记|易疏忽的影响
发布时间:2024-08-03 10:16:08 点击:
大家都知道Java行业是很注重技术的,即使我们入行也要不断提升自己的技术水平才能不被淘汰,那么如何不断提升自己的Java编程技术呢?北京八维教育培训学校整理了一份java课程培训学习笔记——易疏忽的影响。

现象
在释放多个IO资源时,都会抛出IOException ,于是可能为了省事如此写:
public static void inputToOutput(InputStream is, OutputStream os,
boolean isClose) throws IOException {
BufferedInputStream bis = new BufferedInputStream(is, 1024);
BufferedOutputStream bos = new BufferedOutputStream(os, 1024);
….
if (isClose) {
bos.close();
bis.close();
}
}
假设bos关闭失败,bis还能关闭吗?当然不能!

解决办法
虽然抛出的是同一个异常,但是还是各自捕获各的为好。否则第一个失败,后一个面就没有机会去释放资源了。
启示
代码/模块之间可能存在依赖,要充分识别对相互的依赖。


