在jdk1.7之前使用try catch finally 处理流中的异常

 1 package com.yhqtv.demo06.trycatch;
 2 
 3 import java.io.FileWriter;
 4 import java.io.IOException;
 5 
 6 /*
 7  * @author  XMKJ  yhqtv.com Email:yhqtv@qq.com
 8  * @create 2020-05-13-9:38
 9  *
10  */
11 /*
12     在jdk1.7之前使用try catch finally 处理流中的异常
13     格式:
14         try{
15             可能会产出异常的代码
16         }catch(异常类变量 变量名){
17             异常的处理逻辑
18         }finally{
19             一定会指定的代码
20             资源释放
21         }
22  */
23 public class Demo01TryCatch {
24     public static void main(String[] args) {
25         //提高变量fw的作用域,让finally可以使用
26         //变量在定义的时候,可以没有值,但是使用的时候必须有值
27         //fw = new FileWriter("09_IOAndProperties\\g.txt",true); 执行失败,fw没有值,fw.close会报错
28         FileWriter fw = null;
29         try{
30             //可能会产出异常的代码
31             fw = new FileWriter("w:\\09_IOAndProperties\\g.txt",true);
32             for (int i = 0; i <10 ; i++) {
33                 fw.write("HelloWorld"+i+"\r\n");
34             }
35         }catch(IOException e){
36             //异常的处理逻辑
37             System.out.println(e);
38         }finally {
39             //一定会指定的代码
40             //创建对象失败了,fw的默认值就是null,null是不能调用方法的,会抛出NullPointerException,需要增加一个判断,不是null在把资源释放
41             if(fw!=null){
42                 try {
43                     //fw.close方法声明抛出了IOException异常对象,所以我们就的处理这个异常对象,要么throws,要么try catch
44                     fw.close();
45                 } catch (IOException e) {
46                     e.printStackTrace();
47                 }
48             }
49 
50         }
51     }
52 }

 

上一篇:matlab求解动态规划


下一篇:字符输出流【Writer】