• 异常类


    1.关于异常的总结:

    1.Throwable: Error (错误) 和 Exception(异常)的超类

    Exception(异常) 是所有异常的超类

    2.Exception:包括Exception 本身 、 和其他非运行时期异常、RuntimeException、

    3.RuntimeException 无需throws声明、调用者也无需处理、一旦发生需要改代码

    4.JVM 处理异常的方式:1.以红字形式将异常对象、异常信息、异常位置打印在控制台 2.终止程序

    2.异常的产生及处理方式

     1 public static void main(String[] args) {
     2 int[] arr = { 1, 2 };
     3 
     4         try {
     5             // 检测可能出现异常的语句
     6             int i = get(arr);
     7             System.out.println(i);
     8 
     9         } catch (Exception e) {
    10             // 捕获异常
    11             // e.printStackTrace();
    12             System.out.println(e);// 打印异常类名和异常信息
    13 
    14         } finally {
    15             System.out.println("一定会被执行的语句");
    16 
    17         }
    18 
    19 }
    20 
    21 public static int get(int[] arr) throws Exception {// 告知调用者
    22         if (arr == null) {
    23             throw new Exception("数组为空");
    24         }
    25         if (arr.length < 3) {
    26             // 抛出一个指定的一个异常,显示声明
    27             throw new Exception("传递数组长度必须大于3");
    28         }
    29         int i = arr[2] + 1;
    30         return i;
    31     }

    总结:1.如果是编译时期异常必须 throws 声明,要声明多个异常用逗号隔开;运行时期异常不用throws声明

       2.多个catch捕获多个异常时要先捕获子类异常再捕获父类异常,且每个catch捕获的异常不能重复

       3.可以使用try{}finally{}方式处理,只检测不处理,只为了关闭资源

              4.两种异常的导致的原因区别:

                编译时期异常:程序正确,但因为外在的环境条件不满足引发,比如方法的传参,方法本身需要判断参数的合法性而抛出异常

               调用方法时需要处理异常,这并不是方法本身的逻辑错误;

       运行时异常:说明程序本身存在bug,比如方法本身没有判断参数合法性而导致的空指针异常;

        

  • 相关阅读:
    maven公共库
    java截取当前屏幕图片
    JAVE视频处理
    jar在maven仓库里面没有时 , 把jar导入本地仓库步骤
    3 .shell 之linux四剑客sed/grep/awk/find
    Spring学习(四)-基于注解的Bean管理
    Spring学习(三)-Bean的种类,作用域,生命周期
    Spring学习(一)-基本入门
    dubbo服务连接zookeeper报错:java.net.ConnectException: Connection refused
    idea-常用设置二
  • 原文地址:https://www.cnblogs.com/lxzwhite/p/10533713.html
Copyright © 2020-2023  润新知