zoukankan      html  css  js  c++  java
  • Java中assert(断言)的使用

    2018年08月31日 21:51:07 jeikerxiao 

    1.IDEA打开断言

    1.IDEA中默认assert(断言)是关闭,开启方式如下:

    简单来说:就是设置一下jvm的参数,参数是-enableassertions或者-ea(推荐)。

    这里写图片描述

    2.assert格式

    1.格式1

    assert [boolean 表达式]
    • 如果[boolean表达式]为true,则程序继续执行。
    • 如果为false,则程序抛出AssertionError,并终止执行。

    示例

    public class Test1 {
    
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            // 格式1:assert [boolean 表达式]
            assert a > b;
        }
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    增加 jvm 参数 -ea,运行,输出日志如下:

    Exception in thread "main" java.lang.AssertionError
        at Test1.main(Test1.java:12)
    
    Process finished with exit code 1
    • 1
    • 2
    • 3
    • 4

    2.格式2

    assert [boolean 表达式 : 错误表达式 (日志)]
    • 1
    • 如果[boolean表达式]为true,则程序继续执行。
    • 如果为false,则程序抛出java.lang.AssertionError,输出[错误信息]。

    示例

    public class Test2 {
    
        public static void main(String[] args) {
            int a = 1;
            int b = 2;
            // 格式2:assert [boolean 表达式] : [错误表达式 (日志)]
            assert a > b : "错误,a不大于b";
        }
    }

    增加 jvm 参数 -ea,运行,输出日志如下:

    Exception in thread "main" java.lang.AssertionError: 错误,a不大于b
        at Test2.main(Test2.java:12)
    
    Process finished with exit code 1

    备注:assert boolean表达式如果是false会造成如下问题:

  • 相关阅读:
    sqlplus登录用户hang住
    ORACLE_19c用户密码登录失败的问题以及ORA-28040
    索引瘦身_oracle_11g
    Linux内存大页设置
    C++ 总体内容(2)
    C++ 总体内容(1)
    vector中erase的用法
    NGUI中的Tween的委托使用
    IOS Android支持中文与本地文件的读取写入
    Unity人工智能学习—确定性AI算法之追踪算法二
  • 原文地址:https://www.cnblogs.com/grj001/p/12225575.html
Copyright © 2011-2022 走看看