Java断言assert
Java
是从 JDK1.4
开始支持断言的
Java
断言(assert
)的特点是:断言失败时(条件等于false
)会抛出AssertionError
,导致程序结束退出。因此,断言不能用于可恢复的程序错误,只应该用于开发和测试阶段
JVM
默认关闭断言指令,需要虚拟机传递-enableassertions
(可简写为-ea
)参数启用断言
用法1: assert condition
public static void main(String[] args) {
System.out.println("before");
assert false;
System.out.println("after");
}
console
before
Exception in thread "main" java.lang.AssertionError
at top.enzodev.file.Test.main(Test.java:7)
Process finished with exit code 1
用法2:assert condition :error message
public static void main(String[] args) {
System.out.println("before");
assert false : "error";
System.out.println("after");
}
console
before
Exception in thread "main" java.lang.AssertionError: error
at top.enzodev.file.Test.main(Test.java:7)
Process finished with exit code 1