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("关闭资源失败!"); } } } }