黑马程序员技术交流社区
标题:
关于io中的异常处理流程
[打印本页]
作者:
lwy0319
时间:
2014-3-24 23:15
标题:
关于io中的异常处理流程
我知道我之前问了为什么没得到想要的回答了。。原来是我问错了。。回顾一下毕老师的视频关于异常处理的代码如下:
import java.io.*;
public class IDDemo4 {
public static void main(String[] args){
FileWriter f=null;
try{
f=new FileWriter("k://lala");
}catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}finally{
try {
f.close();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
}
复制代码
毕老师将f.close();放到了fianlly中,而我的想法是这样的
import java.io.*;
public class IDDemo4 {
public static void main(String[] args){
try{
FileWriter f=new FileWriter("k://lala");
f.close();
}catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
如果f对象在创建的时候出错了,那么也就没有必要继续下去关闭资源了,为什么还要像上面那么写呢?
作者:
sxhs2008
时间:
2014-3-24 23:23
如果你try中发生了异常,并且f对象已经创建,那么f对象就无法关闭,当然我说的是在f.close()之前发生异常的话,所以才会有finally不管怎样都会执行,当然不包括服务器给当掉!
作者:
lwy0319
时间:
2014-3-25 00:12
sxhs2008 发表于 2014-3-24 23:23
如果你try中发生了异常,并且f对象已经创建,那么f对象就无法关闭,当然我说的是在f.close()之前发生异常的 ...
哦,明白了,比如加入写入的操作,如果仅仅是创建是没必要这样的对吧?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2