美文网首页我与咖啡娘的爱恨情仇
06.finally的概述和应用场景

06.finally的概述和应用场景

作者: 今天庹 | 来源:发表于2018-10-15 20:17 被阅读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("清理垃圾");
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:06.finally的概述和应用场景

        本文链接:https://www.haomeiwen.com/subject/tpgfzftx.html