IO字符流8使用trycatchfinally处理流中的异

26次阅读

共计 811 个字符,预计需要花费 3 分钟才能阅读完成。

package com.itheima.demo06.trycatch;

import java.io.FileWriter;
import java.io.IOException;

/*

 在 jdk1.7 之前使用 try catch finally 处理流中的异常
格式:
    try{可能会产出异常的代码}catch(异常类变量 变量名){异常的处理逻辑}finally{
        一定会指定的代码
        资源释放
    }

*/
public class Demo01TryCatch {

public static void main(String[] args) {
    // 提高变量 fw 的作用域, 让 finally 可以使用
    // 变量在定义的时候, 可以没有值, 但是使用的时候必须有值
    //fw = new FileWriter("09_IOAndProperties\\g.txt",true); 执行失败,fw 没有值,fw.close 会报错
    FileWriter fw = null;
    try{
        // 可能会产出异常的代码
        fw = new FileWriter("w:\\09_IOAndProperties\\g.txt",true);
        for (int i = 0; i <10 ; i++) {fw.write("HelloWorld"+i+"\r\n");
        }
    }catch(IOException e){
        // 异常的处理逻辑
        System.out.println(e);
    }finally {
        // 一定会指定的代码
        // 创建对象失败了,fw 的默认值就是 null,null 是不能调用方法的, 会抛出 NullPointerException, 需要增加一个判断, 不是 null 在把资源释放
        if(fw!=null){
            try {
                //fw.close 方法声明抛出了 IOException 异常对象, 所以我们就的处理这个异常对象, 要么 throws, 要么 try catch
                fw.close();} catch (IOException e) {e.printStackTrace();
            }
        }

    }
}

}

正文完
 0