断言 , 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
网友评论