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

在这里插入图片描述
上来就是重点❗❗❗
断言(assert)语句一般用于程序不准备通过自己手动捕获异常来处理的错误。通过assert <boolean表达式>这种形式以及其他形式捕获异常情况。一般情况下,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);
    }
  • 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);
    }

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

  • 28
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bushi橙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值