我与咖啡娘的爱恨情仇

06.finally的概述和应用场景

2018-10-15  本文已影响0人  今天庹

finally的概述和应用场景

finally使用格式:
try{
}catch(异常类型 异常变量){
}finally{
   //释放资源的代码
}
package com.itheima_01;

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

/*
 *  finally:组合try...catch使用,用于释放资源等收尾工作,无论try...catch语句如何执行,finally的代码一定会执行
 * 
 *  try {
 *      有可能出现问题的代码;
 *      
 *  } catch(异常对象) {
 *      处理异常;
 *  } finally {
 *      释放资源;
 *      清理垃圾;
 *  }
 */
public class ExceptionDemo5 {
    public static void main(String[] args) {
//      method();
        FileWriter fw = null;
        try {
            System.out.println(2 / 0);//如果fw.close()没有进行判断会出现java.lang.NullPointerException
            fw = new FileWriter("a.txt");
            fw.write("hello");
            fw.write("world");
//          System.out.println(2 / 0);//java.lang.ArithmeticException
            fw.write("java");
            
//          fw.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            //释放资源
            try {
                if(fw != null) {
                    fw.close();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    private static void method() {
        try {
            System.out.println(2 / 0);
        } catch (ArithmeticException e) {
            System.out.println("除数不能为0");
        } finally {
            System.out.println("清理垃圾");
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读