1. 作用
不满足断言中申明的条件,程序会直接报错。
由于断言抛出的错误不能被捕捉,也就不能被处理,所以断言只用于测试程序。
2. 启用方法
为了避免关键字冲突,assert默认是关闭的,即你可以使用assert,但是不会出现任何的效果,写了和没写一样。要打开assert,要这样设置:
然后在vm options中输入 -ea ,不用版本的idea界面不一样,总之自己找找。
3. 使用
有两个使用方法:
1、assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。
2、assert <boolean表达式> : <错误信息表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,并输出<错误信息表达式>。
下面是例子:
- 代码:
public class test {
public static void main(String[] args){
System.out.println("start");
assert true;
System.out.println("end");
}
}
输出:
start
end
- 代码:
public class test {
public static void main(String[] args){
System.out.println("start");
assert false;
System.out.println("end");
}
}
输出:
start
Exception in thread "main" java.lang.AssertionError
at test.main(test.java:4)
- 代码:
public class test {
public static void main(String[] args){
System.out.println("start");
assert false:"这是一条错误信息";
System.out.println("end");
}
}
输出:
start
Exception in thread "main" java.lang.AssertionError: 这是一条错误信息
at test.main(test.java:4)
一般使用的时候会用到Assert.assertEquals(期望的结果,实际结果)。