梦想是指引我们前行的星光,无论夜有多黑,它总能照亮前|

园龄:粉丝:关注:

Java 异常处理 二 断言(不重要)

断言(Assertion)是一种调试程序的方式。在Java中,使用assert关键字来实现断言。

public static void main(String[] args) {
    double x = Math.abs(-123.45);
    assert x >= 0: "x must >= 0";
    System.out.println(x);
}

语句assert x >= 0;即为断言,断言条件x >= 0预期为true。如果计算结果为false,则断言失败,抛出AssertionError,AssertionError会带上消息x must >= 0。

Java断言的特点是:断言失败时会抛出AssertionError,导致程序结束退出。因此,断言不能用于可恢复的程序错误,只应该用于开发和测试阶段。

JVM默认关闭断言指令,即遇到assert语句就自动忽略了,不执行。Java虚拟机传递-enableassertions(可简写为-ea)参数启用断

 java -ea Main.java
Exception in thread "main" java.lang.AssertionError
    at Main.main(Main.java:5)

还可以有选择地对特定地类启用断言,命令行参数是:-ea:com.itranswarp.sample.Main,表示只对com.itranswarp.sample.Main这个类启用断言。

或者对特定地包启用断言,命令行参数是:-ea:com.itranswarp.sample...(注意结尾有3个.),表示对com.itranswarp.sample这个包启动断言。

断言很少被使用,更好的方法是编写单元测试。

 

本文作者:云龙

本文链接:https://www.cnblogs.com/yunlong-study/p/16718038.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   云long  阅读(310)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开