对于关流2种异常处理的写法,写在try括号中和不写在try括号中
JDK7之前的写法
public class ExceptionHandle {
public static void main(String[] args) {
FileWriter fw = null;
try{
fw = new FileWriter("fw.txt")
fw.write("tset01");
}
catch (Exception e){
e.printStackTrace();
}
finally {
try {
if (fw != null) {
fw.close();
fw = null;//方便GC释放资源
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
JDK7之后的写法
简洁的代码,但是有局限性,只有本类或父类的实现AutoCloseable接口才可以这样自动close流,常见的实现了此接口的类有字节流、字符流、SocketChannel等。、
public class ExceptionHandle {
public static void main(String[] args) {
try(FileWriter fw = new FileWriter("fw.txt")){//括号内可写多条语句,用;隔开
fw.write("tset02");
} catch (IOException e) {
e.printStackTrace();
}
}
}