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,那我们就可以在程序中到处设“桩”,断言这两者的关系,如果不满足即表明程序已经出现了异常,业务也就没有必要运行下去了。
  • 相关阅读:
    微博转发的内容如何实现点击人名跳转到个人主页
    解决json_encode中文UNICODE转码问题
    ***git自动化部署总结
    **Git本地仓库图解
    我 Git 命令列表 (1)【转】
    Git
    git pull使用【转】
    git merge简介【转】
    获得内核函数地址的四种方法
    【笔记】一些linux实用函数技巧【原创】
  • 原文地址:https://www.cnblogs.com/feipeng8848/p/7895450.html
Copyright © 2011-2022 走看看