断言一般有两种格式:
assert [true]
assert [false]
assert false : "logMessage"
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;
}
}
增加 jvm 参数 -ea,运行,输出日志如下:
Exception in thread "main" java.lang.AssertionError
at Test1.main(Test1.java:12)
Process finished with exit code 1
2.格式2
assert [boolean 表达式 : 错误表达式 (日志)]
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