• 【JavaSe】断言 assert 到底怎么用?


    在这里插入图片描述
    上来就是重点❗❗❗
    断言(assert)语句一般用于程序不准备通过自己手动捕获异常来处理的错误。通过assert 这种形式以及其他形式捕获异常情况。一般情况下,assert语句默认关闭,需要手动打开,使用if语句简单判断一下即可,因为正常发布的代码中断言语句都不执行或不起作用,非常容易错误地使用了断言。

    • 启用/关闭断言语句:

    • 找到VM arguments文本框 ,输入-ea java -ea开启,输入-da java -da关闭(默认为关闭状态

    博主在这里使用的是IEAD进行演示:输入的是-ea

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    • 语法格式:
      1. assert condition:
        condition是一个必须为真(true)的表达式,如果表达式结果为true,程序正常运行,如果为false,则抛出一个AssertionError对象,这个对象继承Error对象,而Error继承Throwable 对象,而Throwable 继承Object(所有类的父类);
        Error是Throwable子类,表示严重的问题;Throwable类是Java语言中所有错误和异常的Throwable类,实例的对象由Java虚拟机抛出,或者可以由Java throw语句抛出
        在这里插入图片描述
     public static void main(String[] args) {
            String a = "abc";
            myPrint(a);
        }
        public static void myPrint(String a){
           //如果传的参数不为空,则打印输出,
           //否则抛出一个AssertionError异常
            assert (a != null);
            System.out.println(a);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 2.assert condition:expr:
      这里的condition同上面的一个意思,冒号后面的expr是一个表达式,一般用于断言失败后,手动传入一个错误信息/提示信息给AssertionError构造函数,如果断言为假,则输出该表达式。
      在这里插入图片描述
     public static void main(String[] args) {
            String a = "abc";
            myPrint(a);
        }
        public static void myPrint(String a){
           //如果传的参数不为空,则打印输出,
           //否则抛出一个AssertionError异常,
           //并输出 该变量为null
            assert (a != null):"该变量为null";
            System.out.println(a);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    记得三连喔~ 👍👍🏻👍🏿
    记得三连喔~ 👍👍🏻👍🏿
    记得三连喔~ 👍👍🏻👍🏿

  • 相关阅读:
    shell函数与正则
    【taro react】 ---- 常用自定义 React Hooks 的实现【四】之遮罩层
    拓扑排序基础详解,附有练习题
    软件实训-例会1
    Centos7 部署Jenkins
    小易的考试成绩(0 -1背包问题)
    使用Python的方式理解Golang的结构体struct
    Redis 的缓存过期策略
    Oozie的安装和使用
    HyperLynx(二十八)板层噪声分析和SI/PI联合仿真实例
  • 原文地址:https://blog.csdn.net/Original0/article/details/126836160