一、注意事项

  1、多个异常使用捕获如何处理

     ① 多个异常分别处理。

      即每一个异常都使用一个 try-catch 捕获,然后进行处理。

    ② 多个异常一次捕获,多次处理。

      即把异常都放入 try 里面,而 catch 里面处理写每一个异常的情况。

    ③ 多个异常一次捕获一次处理。

      即把异常都放入 try 里面,而 catch 里面放入 所有异常的一个父类,来进行统一处理。

    经常使用 一次捕获多次处理 方式,格式如下

try{
    编写可能会出现异常的代码
    }catch(异常类型A e){ 当try中出现A类型异常,就用该catch来捕获.
        处理异常的代码
        //记录日志/打印异常信息/继续抛出异常
    }catch(异常类型B e){ 当try中出现B类型异常,就用该catch来捕获.
        处理异常的代码
        //记录日志/打印异常信息/继续抛出异常
}

    注意:这种异常处理方式,要求多个 catch 中的异常不能相同,并且若 catch 中的多个异常之间有子父类异常的关系,那么子类异常要求在上面的 catch 处理,父类异常在下面的 catch 处理。

  2、运行时异常被抛出可以不处理。即不捕获也不声明抛出

    运行时异常被抛出可以不处理,因为最后默认给虚拟机处理,会终止程序,什么时候不抛出运行时异常了,在来继续执行程序

  3、如果 finally 有 return 语句,永远返回 finally 中的结果,避免该情况。

    原因:因为 finally 中的语句都会被执行到,所以 finally 里面有 return,永远返回 finally 中的结果。

  4、如果父类抛出了多个异常,子类重写父类方法时,抛出和父类相同的异常或者是父类异常的子类或者不抛出异常。

  5、父类方法没有抛出异常,子类重写父类该方法时也不可抛出异常。此时子类产生该异常,只能捕获处理,不能声明抛出。

二、异常处理5个关键字

  

 

 世界上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离;
世界上最痴心的等待,是我当case你是switch,或许永远都选不上自己;
世界上最真情的相依,是你在try我在catch。无论你发神马脾气,我都默默承受,静静处理。到那时,再来期待我们的finally

  

 

posted on 2021-01-18 18:19  格物致知_Tony  阅读(102)  评论(0编辑  收藏  举报