zoukankan      html  css  js  c++  java
  • Java 异常处理:总结

    一、注意事项

      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

      

  • 相关阅读:
    linux expr命令执行问题
    Virtual Box设置Host only模式的网络互通问题
    Linux下管理软件的方法
    转载 AMI方案和Insyde方案
    笔记二(名词详解)持续更新。。。
    笔记一(固件、BIOS、UEFI)
    Cache As Ram
    (二十四)C语言之文件
    (二十三)C语言之位运算
    (二十二)C语言之typedef
  • 原文地址:https://www.cnblogs.com/niujifei/p/14294113.html
Copyright © 2011-2022 走看看