Assertion断言学习

断言:在开发阶段的代码中嵌入,检验某些“假设”是否 成立。若成立,表明程序运行正常,否则表明存在错误。

assertion主要形式:

– assert condition;

– assert condition : message;

eg:

assert (number >= 0) : "number is negative: " + number;

assert x >= 0 : “x is ” + x;

assert后括号中的布尔表达式为false时,会抛出一个AssertionError错误。

括号可省

assert x >= 0 : “x is ” + x;

assertion主要用途:

1.内部不变量,检测变量值。

2.表示不变量,checkRep()每次执行一个方法前后都要运行一次。

3控制流不变量,switch中的defaultcase可用assertion终止。

如果不想被关闭用throw new AssertionError(msg);

4方法前置条件

5方法后置条件

assertion的代价:

1.断言主要用于开发阶段,避免引入 和帮助发现bug,实际运行阶段, 不再使用断言,避免降低性能。使用断言的主要目的是 为了在开发阶段调试程序、尽快避免错误

java默认关闭断言,用-ea打开

2.用在刀刃上检查,不要检测能明显看出成立的表达式。

3.assertion可以被停用,所以不要在assertion中进行操作

4.程序之外的外部错误咱管不了,也管不着

5.用断言处理绝不应当发生的情况

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值