assert 使用小结

assert expression1;
assert expression1:expression2;
如果expression1为true,则不抛出错误,程序正常运行,expression2也不会执行。
如果expression1为false,则抛出异常,程序中断跳出,expression2执行。

一般来说,不要在expression1、expression2中使用函数的返回值;
不要将其使用在public函数中检查输入参数,但可以用于private函数中检测输入参数。

使用时,编译时需要用javac -source;执行时需要使用java -ea。


个人的一点理解:使用assert只是为了帮助我们调试程序,因此使用assert所遵循的原则就是“不能因为有了assert的存在而使程序的结构发生 任何的改变”,说白了就是“如果把assert部分删除了,程序依然不会有任何的问题,只不过不能帮助我们检查出一些错误来了”,因此使用assert的 时候不应该在表达式中使用函数,因为一旦把这句assert语句删除后,程序的结构就改变了,这不符合上述提到的原则!

 

详见:http://www.blogjava.net/bacoo/archive/2008/03/11/185491.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值