使用try_catch_finally处理流中异常、 jdk7流中异常的处理
使用try_catch_finally处理流中异常
在jdk1.7之前使用try_catch 处理流中的异常
格式:
try{
可以会出现异常的代码
}catch{
异常的处理逻辑
}finally{
一定会执行的代码
}
案例:
public static void main(String[] args) throws IOException {
// ,创建FileWriter对象,构造方法中要绑定要写入数据的目的地
java.io.FileWriter writer = null;
try {
writer = new java.io.FileWriter("aa.txt",true);
char[] arr ={'q','b','a','c'};
writer.write(arr);
writer.write("你好世界");
} catch (IOException e) {
throw new RuntimeException(e);
}finally {
System.out.println("执行完毕");
writer.close();
}
}
}
把java.io.FileWriter writer = null;,放到上面这样就不会应为作用域报错了
}finally {
System.out.println("执行完毕");
writer.close();
}
一定会执行的代码
jdk7流中异常的处理
上面我们写的作用域 这次我们可以直接写道try加上一个() 这个创建流的对象放进去
public static void main(String[] args) throws IOException {
// ,创建FileWriter对象,构造方法中要绑定要写入数据的目的地
try ( java.io.FileWriter writer = new java.io.FileWriter("aa.txt",true);){
char[] arr ={'q','b','a','c'};
writer.write(arr);
writer.write("你好世界");
} catch (IOException e) {
throw new RuntimeException(e);
}finally {
System.out.println("执行完毕");
}
}
}
运行结果: