java断言使用

在c++中我们习惯用断言(Assertion),静态断言(Static Assertion)等对参数和环境做出判断,避免程序因不当的输入或错误的环境而产生逻辑异常。其实除了C,C++之外 Python和Java也有对应的断言机制。
首先说一下什么是断言应用在哪,其实用易理解的话来说 ,断言主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。

java中断言格式

assert <布尔表达式> 
assert <布尔表达式> : <错误信息>

关于java断言(assert)我们需要知道的技术点。

(1)assert默认是不启用的

我们知道断言是为调试程序服务的,目的是为了能够快速、方便地检查到程序异常,但Java在默认条件下是不启用的,要启用就需要在编译、运行时加上相关的关键字。
在vm中输入-enableassertions 或简写 -ea

eclipse

idea


    //assert <布尔表达式>
    public static void method1(){
        int i = 1;  
        assert i==2;  
        System.out.println("如果断言正常,我就被打印");  
        
    }


image.png
    //assert <布尔表达式> : <错误信息>
    public static void method2(){
        int i = 1;  
        assert i==2:"如果断言错误,我就被打印";  
        System.out.println("如果断言正常,我就被打印"); 
        
    }
image.png

(2)assert抛出的异常AssertionError是继承自Error的

断言失败,JVM会抛出一个AssertionError错误,它继承自Error,表示这是一个严重问题,开发者必须予以关注并解决之。


AssertionError继承关系

你可能感兴趣的:(java断言使用)