黑马程序员技术交流社区
标题:
流的标准处理异常代码两种方式的区别是什么新人求解
[打印本页]
作者:
天晴了吗
时间:
2015-11-23 23:44
标题:
流的标准处理异常代码两种方式的区别是什么新人求解
第一种:
public static void demo1() throws FileNotFoundException, IOException {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("xxx.txt");
fos = new FileOutputStream("yyy.txt");
int b;
while((b = fis.read()) != -1) {
fos.write(b);
}
}finally {
try{
if(fis != null)
fis.close();
}finally { //try fianlly的嵌套目的是能关一个尽量关一个
if(fos != null)
fos.close();
}
}
}
}
第二种:
public class Demo7_TryFinally2 {
public static void main(String[] args) {
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("aaa.txt");
fos = new FileOutputStream("bbb.txt");
int b;
while ((b = fis.read()) != -1) {
fos.write(b);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
作者:
天晴了吗
时间:
2015-11-24 23:17
没人加大么
作者:
半瓶神仙油
时间:
2015-11-24 23:19
这个问题我也不知道啊
作者:
Weidan
时间:
2015-11-28 22:38
异常解决有两张:
第一种是抛出去,也就是你上面的第一种,那么调用你这个方法的人,就需要处理这个异常,他可以继续选择抛出去或者捕获处理。
第二种就是捕获处理了,捕获到异常以后,try里面的代码就不执行,你可以另选一个方案达到你的目的。默认是把错误打印在控制台。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2