Java中的断言-Assert

Java默认不执行断言语句,需通过-ea或-enableassertions开启。断言用于开发和测试阶段,判断关键数据是否符合预期。当条件为false时,程序会停止执行,可选错误信息输出。不应依赖断言处理业务逻辑,避免系统异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. java在执行的时候,默认是不执行断言语句的,需要手动设置下jvm虚拟参数打开开关:
-ea 或者-enableassertions
  1. assert用法:
2.1 assert <boolean表达式>

boolean表达式为true时,程序正常执行,boolean表达式为false时,程序从断言处停止执行。

2.2 assert <boolean表达式> :'错误信息'

boolean表达式为true时,程序正常执行,boolean表达式为false时,程序从断言处停止执行。并输出错误信息,提示用户。

代码展示:

    public static void main(String args[]) {
        //断言1结果为true,则继续往下执行
        assert 2>1;
        System.out.println("断言1正常执行");

        System.out.println("\n-----------------\n");
        //断言2结果为false,程序终止
        assert 1>2 : "断言失败,此表达式的信息将会在抛出异常的时候输出!";
        System.out.println("断言2报错,无法执行该打印");
    }

下面是打印的信息:

断言1正常执行

-----------------

Exception in thread "main" java.lang.AssertionError: 断言失败,此表达式的信息将会在抛出异常的时候输出!
    at com.haileer.dd.dingdingserver.ChelateserverApplication.main(ChelateserverApplication.java:26)

断言主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。千万不要让断言处理业务流程,一般都是通过异常处理来解决程序中潜在的错误。使用断言就很危险,一旦失败系统就挂了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值