IO流的异常处理

package it.cn.iodemo;


import java.io.FileOutputStream;
import java.io.IOException;

/*
 * IO流中的异常处理
 *    try catch finally
 * IO流异常处理的细节:
 *    1.保证流对象的作用域足够
 *    2.catch里面,怎么处理异常
 *       输出异常的信息,目的看哪里出现了问题
 *       停下程序
 *    3.如果流对象失败了,还需要关闭资源吗?
 *      new对象失败了,没有占用系统资源
 *      应此需要对流对象进行判断,判断流对象是否为空
 *      不为空,则关闭资源
 */
public class FileOutputStreamdemo03 {
    public static void main(String[] args) {
        //try外面声明对象,try里面建立对象
        FileOutputStream fos=null;
        try {
            //在try里面不能声明对象,因为try里面声明的是局部变量,
            fos = new FileOutputStream("a.txt");
            fos.write(100);

        } catch (IOException e) {
            System.out.println(e);
            //抛出此异常的原因是因为防止硬件出项错误!如向U盘写入文件时,出现错误
            throw new RuntimeException("文件写入失败,重试!");
        }finally {
            try {
                if(fos !=null){
                    fos.close();
                    }
            } catch (IOException e) {
                e.printStackTrace();
                throw new RuntimeException("关闭资源失败!");
            }
        }
    }
}

 

posted @ 2019-04-11 09:53  颗就完了  阅读(200)  评论(0)    收藏  举报