Java assert 关键字
示例
使用 assert 测试表达式的真值
public class Main {
public static void main(String[] args) {
// Enable assertions
ClassLoader loader = ClassLoader.getSystemClassLoader();
loader.setDefaultAssertionStatus(true);
// Run the assert example
AssertExample example = new AssertExample();
example.run();
}
}
class AssertExample {
public void run() {
int a = 12;
try {
assert a == 12; // Assertion without a fail message
assert a == 12 : "a is not 12";
assert a == 15 : "a is not 15";
} catch (AssertionError e) {
System.out.println(e.getMessage());
}
}
}
定义和用法
assert
关键字评估一个布尔表达式,如果该表达式评估结果为 false
,则抛出 AssertionError
异常。当异常被抛出时,我们称断言失败。
可以添加一个可选表达式,如果断言失败,该表达式将用作异常消息。
断言默认是禁用的。assert
语句除非启用断言,否则将被忽略。
断言的目的是在调试和测试程序时,清楚地标记程序在何时执行了意想不到的操作。