2019-10-11 java assert断言的使用

2019-10-11  本文已影响0人  V_Jan

断言 , java中的关键字是assert

句法:assert exp1:exp2; 但exp1 为FALSE的时候执行exp2。 主要用于做调试。使用场景比如:你写代码的时候觉得不可能会出现情况A, 那如果出现了(找到bug了),就可以通过断言来通知你, 这种场景中,断言主要用于输出错误信息提醒你。那接下来你就可以调试修改你的bug了。

断言只有在开启断言模式才起作用, 开启的方式是 java –ea ${programName}, 也就是用带-ea(–enableassertions 的缩写) 运行java程序。有些文章说断言是在debug版本中起作用, 这里的“debug”版本很容易让人误以为是IDE的debug运行模式。其实不是的。

举例:

import java.io.IOException;

public class assertAndIf {
    public static void main(String[] args) {
        try {
            System.out.println("Enter a Char:");
            char i = (char) System.in.read();
            assert i == 'y' : "the input is not y"; //如果输入的字符不为y,则输出一条错误信息
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

运行:
$ javac assertAndIf.java
$ java -ea assertAndIf
Enter a Char:
b
Exception in thread "main" java.lang.AssertionError: Yout Enter Char is:a
at assertAndIf.main(assertAndIf.java:8)

参考:
https://www.geeksforgeeks.org/assertions-in-java/
https://blog.csdn.net/My_heart_/article/details/51405263

上一篇下一篇

猜你喜欢

热点阅读