A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李柯 中级黑马   /  2012-3-30 20:18  /  3258 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么是断言机制?求解释?

3 个回复

倒序浏览
        断言从JDK1.4版开始引入,它让开发期间测试假设,而没有付出为异常编写异常处理程序方面的代价,一旦程序完成开发,并全部部署,假设将从不会发生。
        主要作用:因为在开发时对自己的假设非常肯定,所以不想花费时间来编写异常处理代码。断言让在开发期间测试你的假设。
private void method(int num){
        assert(num>=0);//这里假定参数num是正数,如果不是真的将抛出一个AssertionError错误
        useNum(num+x);
}
断言有两种形式:简单和非常简单。
非常简单:
private void doStuff(){
        assert(y>x);
        //其他代码
}
简单:
将通过表达式的值向错误跟踪栈中添加更多信息,提供了更多调式帮助信息。
private void doStuff(){
        assert(y>x):”y is ”+y+” x is”+x;
        //其他代码
}
运行时启用断言:
java –ea com.geeksanonymous.TestClass

运行时禁用断言:
java –da com.geeksanonymous.TestClass
回复 使用道具 举报
    assertion(断言)在软件开发中是一种调试方式,很多开发语言中都支持这种机制。在现实中assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确的程序必须保证这个boolean表达式的值为true;如果该值为false。说明程序已经处于不正确的状态下,assertion将给出警告或退出。一般来说。assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启,为了提高性能,在软件发布后,assertion检查通常是关闭的。
回复 使用道具 举报
断言看作是异常处理的一种高级形式
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马