• 异常的分类与使用


    异常

    异常分类

    image-20200416135641711

    Throwable是祖宗,Error和Exception都是它的子类。

    Error是很严重的问题,一旦出现一定要解决,常见的是IOError,StackOverflowError

    Exception是无法避免的,但是我们可以再可能发生异常的地方捕获异常

    异常被捕获了之后程序还能继续运行。

    捕获异常用try....catch...finally

    public static void main(String[] args) {
            int a = 10;int b = 0;
            try {
                System.out.println(a/b);
            }catch (ArithmeticException e){
                e.printStackTrace();//打印出来异常,是红色的
                System.out.println("除数不能为0");
            }catch (Exception e){//后面的catch一定要是前面的祖宗,不然没必要多个catch,参考污水三级净化
                e.printStackTrace();
            }finally {
                System.out.println("不管有没有捕获,finally一定会执行");
            }
        }
    结果:
        java.lang.ArithmeticException: / by zero
          at InnerCLass.Test.main(Test.java:7)
        除数不能为0
        不管有没有捕获,finally一定会执行
    

    多个catch,层次递进,一开始捕获的异常是小的,然后是大一点。类似于if else.

    throw,throws关键字

    他们是不一样的,一般用在方法中,用来主动抛出异常,这个方法处理不了这个异常,用throws上抛,让其他程序来处理。

    public static void main(String[] args) {
        int a = 10;int b = 0;
        new Test().chu(a,b);//匿名内部类的使用,很方便
    }
    public void chu(int a,int b) throws ArithmeticException{//解决不了,再上抛一个异常,谁用数解决
        if(b == 0){
            throw new ArithmeticException();//抛出异常
        }
    }
    
  • 相关阅读:
    计算机操作系统 存储器管理
    数据结构 平衡二叉树avl c++
    数据结构 线索二叉树 c++
    数据结构 赫夫曼树及其应用 c++
    c++ cstring 常用函数
    数据结构 哈希表 c++
    数据结构 静态链表
    ajax返回填充的数据不显示
    使用JSON.parse()转化成json对象需要注意的地方
    参数错误导致bug
  • 原文地址:https://www.cnblogs.com/li33/p/12712602.html
Copyright © 2020-2023  润新知