Eclipse 下使用断言功能
所谓断言(assertion)是一个Java语句,布尔表达式,程序员认为在程序执行时该表达式的值应该为true。系统通过计算该布尔表达式执行断言,若该表达式为false系统会报告一个错误。
断言是通过assert关键字来声明的,断言功能的使用有两种格式:
assert expression ; 或者 assert expression : detailMessage ;
其中,expression为布尔表达式,detailMessage是基本数据类型或Object类型的值。当断言语句被执行时,Java计算expression的值,如果其值为false,抛出AssertionError异常。对于第二种带有一个详细信息的断言语句,将使用AssertionError类的与消息的数据类型匹配的构造方法。由于AssertionError类是Error类的子类,当断言为false时,程序将在控制台显示一条消息并终止程序的执行。
Eclipse默认是没有开启断言功能的,所以你使用断言也不会看到效果的,首先我们用以下步骤打开断言的开关:
在MyEclipse中
Windows--> Preferences--->Java--->Installed JREs--->点击正使用的JDK--->Edit--->
Default VM Arguments文本框中输入:-ea
如下图
打开之后,用下面的代码进行测试:
public class AseertTest { public boolean flag = true;// 改变flag值然后查看控制台输出 public boolean isValid(){ return flag; } public static void main(String args[]){ AseertTest assertion = new AseertTest(); assert assertion.isValid() : "Flag must be true!"; System.out.println("assert end"); } }
更改flag的值为false,使条件无法测试通过,这时就会抛出如下异常,也就说明断言已经起作用了。
转载于:https://www.cnblogs.com/heshan664754022/archive/2013/04/28/3049244.html