JAVA assert测试

Java陷阱之assert关键字 :[url]http://lavasoft.blog.51cto.com/62575/43735/[/url]
assert的基本用法:[url]http://www.cnblogs.com/wardensky/p/4307848.html[/url]
在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,
Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言检查,
则需要用开关-enableassertions或-ea来开启。
assert关键字语法很简单,有两种用法:

1、assert <boolean表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出AssertionError,并终止执行。

2、assert <boolean表达式> : <错误信息表达式>
如果<boolean表达式>为true,则程序继续执行。
如果为false,则程序抛出java.lang.AssertionError,并输入<错误信息表达式>。

测试主类1:
package juc.asserts;
/**
* 测试断言
* @author donald
* 2017年3月3日
* 上午8:57:56
*/
public class TestAssert {
public static void main(String[] args) {
int a = 1;
assert a < 0;//正确往下执行,否则中断程序
System.out.println("assert int a value:"+a);
//断言失败,输出断言表达式的错误信息
assert a > 0:"assert int a value smaller then 0 is fail.";
System.out.println("assert int a value smaller then 0 is ok");


}
}
控制台输出:
Exception in thread "main" java.lang.AssertionError
at juc.asserts.TestAssert.main(TestAssert.java:11)


从控制台来看,断言失败,中断程序


测试主类2:
package juc.asserts;
/**
* 测试断言
* @author donald
* 2017年3月3日
* 上午8:57:56
*/
public class TestAssert {
public static void main(String[] args) {
int a = 1;
assert a > 0;//正确往下执行,否则中断程序
System.out.println("assert int a value:"+a);
//断言失败,输出断言表达式的错误信息
assert a < 0:"assert int a value smaller then 0 is fail.";
System.out.println("assert int a value smaller then 0 is ok");


}
}

控制台输出:
assert int a value:1
Exception in thread "main" java.lang.AssertionError: assert int a value smaller then 0 is fail.
at juc.asserts.TestAssert.main(TestAssert.java:14)

从控制太输出来看,断言失败,输出断言表达式的错误信息。

开启断言检查,用RUN AS 或DEBUG AS 配置VM参数,我用的是Debug如下:


[img]http://dl2.iteye.com/upload/attachment/0123/4489/5ea97a37-d86b-3177-9bd6-ca4fd27405ce.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值