黑马程序员技术交流社区

标题: 什么是断言机制? [打印本页]

作者: 李柯    时间: 2012-3-30 20:18
标题: 什么是断言机制?
什么是断言机制?求解释?
作者: 何万县    时间: 2012-3-30 20:18
        断言从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
作者: 李震 李震 李震    时间: 2012-3-30 21:17
    assertion(断言)在软件开发中是一种调试方式,很多开发语言中都支持这种机制。在现实中assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确的程序必须保证这个boolean表达式的值为true;如果该值为false。说明程序已经处于不正确的状态下,assertion将给出警告或退出。一般来说。assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启,为了提高性能,在软件发布后,assertion检查通常是关闭的。
作者: 姚伟涛    时间: 2012-3-30 21:22
断言看作是异常处理的一种高级形式




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2