在jdk1.7之前使用try catch finally处理流中的异常
格式:太容易{
可能会出现的异常代码
}catch(异常变量 变量名){
异常处理逻辑
}finally{
一定会执行的代码资源释放
}
import java.io.FileWriter;
import java.io.IOException;
public class demo05 {
public static void main(String[] args){
/*提高变量fw的作用域,让finally可以使用
变量在定义时可以没有值,但是在使用时必需有值
fw=new FileWriter("C:\\",true");执行失败,fw没有值,fw.close也会报错*/
FileWriter fw=null;
try{
fw=new FileWriter("C:\\",true);
for(int i=0;i<10;i++){
fw.write("hellowold"+i+"\r\n");
}
fw.close();
}catch(IOException e){
System.out.println(e);//异常处理逻辑
}finally{//一定会指定的代码
if(fw!=null){//创建的对象失败了,fw的默认值就是null,null是不能调用方法的,
// 会抛出NullPointException需要增加一个判断,不是null再把资源释放
try{//fw.close方法声明抛出了IOException异常对象,所以我们就处理这异常
fw.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
}