中易网

什么时候用assert

答案:2  悬赏:60  
解决时间 2021-03-21 22:13
什么时候用assert
最佳答案
断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 Assertionerror。它用于调试目的:
assert(a > 0); // throws an Assertionerror if a <= 0
断言可以有两种形式:
assert Expression1 ;
assert Expression1 : Expression2 ;
Expression1 应该总是产生一个布尔值。
Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。
断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记:
javac -source 1.4 Test.java
要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。
要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。
要系统类中启用断言,可使用 -esa 或者 -dsa 标记。还可以在包的基础上启用或者禁用断言。
可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。
全部回答
assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
男的!你能接受你以后的女朋友是男科护士么?
中国移动通信永靖县新寺乡特约代理点我想知道
计算机专业考研转入地图学与地理信息系统靠谱
电脑加个内存条电脑能变快吗?还能再加吗?
哦麦嘎的!职业技术学校保证就业的是不是真的
尼康D700的色彩好像不太艳丽,如何调出色彩艳
我就是找不到合适的栽培蝴蝶兰的基质
明光市女山湖镇旧县中学初二学生成绩单
龙之谷现在月之领主和剑皇哪个好?各个方面都
【黑执事Ⅱ】CLD真的想要164被少爷当做复仇的
18年的初级会计考试难度会比往年大还是简单?
怎样才能做到全神贯注?
上海氩弧焊工可以提前退休吗?须要什么资料
广东建科建筑监理有限公司是隶属于广东省建筑
5年车龄的别克君越的保养跟维修费会不会很高
推荐资讯
亲们知道哪儿有幼儿电子琴学习班,最好是在莱
藿香为何越长叶子越小?
深圳便利店如何进货
泰安市中医二院-口腔楼我想知道这个在什么地
日剧《无间双龙》的罗马音!
杭州租房哪里便宜点
怎么将孩子送去孤儿院 、 西安的 、
越有心眼的人是不是越说明他家里的条件不好,
主板:华硕FA75M的,CPU:a8 3870,显卡:英伟
水平轴风力发电机如何减震
已知,正方形ABCD的边长为4P为AB上的一点,且
“此乃富贵近益生汇鼎盛机关之命也”的解释,
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?