zoukankan      html  css  js  c++  java
  • 断言的使用

    • ## 断言和异常
    断言是用来检查非法情况而不是错误情况的,用来帮开发者快速定位问题的位置。
    异常处理用于对程序发生异常情况的处理,增强程序的健壮性和容错性。
    • ## 断言的使用
    在防御式编程中经常会用断言(Assertion)对参数和环境做出判断,避免程序因不当的输入或错误的环境而产生逻辑异常,断言在很多语言中都存在,C、C++、Python都有不同的断言表示形式。

    1. assert特性

    (1)assert默认是不启用的
    (2)assert抛出的异常AssertionError是继承自Error的

    2. 使用assert的三种情况

    (1)在私有方法中放置assert作为输入参数的校验
    在私有方法中可以放置assert校验输入参数,因为私有方法的使用者是作者自己,私有方法的调用者和被调用者之间是一种弱契约关系,或者说没有契约关系,其间的约束是依靠作者自己控制的,因此加上assert可以更好地预防自己犯错,或者无意的程序犯错。
    (2)流程控制中不可能达到的区域
    这类似于JUnit的fail方法,其标志性的意义就是:程序执行到这里就是错误的,例如:
    public void doSomething(){  
          int i = 7;  
          while(i >7){  
           /*业务处理*/  
          }  
         assert false:"到达这里就表示错误";  
     } 
    (3)建立程序探针
    我们可能会在一段程序中定义两个变量,分别代表两个不同的业务含义,但是两者有固定的关系,例如var1=var2*2,那我们就可以在程序中到处设“桩”,断言这两者的关系,如果不满足即表明程序已经出现了异常,业务也就没有必要运行下去了。
  • 相关阅读:
    IOS开发学习笔记020-练习总结
    IOS开发学习笔记019-动态创建控件
    IOS开发学习笔记018- 一般控件的使用
    IOS应用程序开发流程
    IOS开发学习笔记017-第一个IOS应用
    IOS开发学习笔记016-Foundation框架
    IOS开发学习笔记015-block和protocol
    IOS开发学习笔记014-ARC机制
    IOS开发学习笔记013-内存管理
    IOS开发学习笔记012-核心语法
  • 原文地址:https://www.cnblogs.com/feipeng8848/p/7895450.html
Copyright © 2011-2022 走看看