我正在做一个Android应用程序.我的客户端要求我在android代码中包含断言.我已经google了一遍,发现Commonsware 说在android代码中应该避免断言.但是我需要一个强有力的理由来避免使用断言?如果我应该使用断言,请告诉我.如果是这样,在android中使用断言的规则或建议是什么.
但我需要一个强有力的理由来避免使用断言?
断言是故意引入未处理的,无法捕获的错误(AssertionError具体而言).
默认情况下,断言在Android中不起作用.你必须专门启用它们.这意味着您尝试通过断言验证的任何逻辑都不会用于生产设备.
因此,我同意这一评估:
第零步:将注释重构为断言
第一步:将代码中的断言重构为单元测试
第三步:将剩余的断言升级为程序异常
因此,您肯定欢迎验证输入,确认输出等.只是不要使用assert.相反,以其他方式处理条件.如果没有别的,抛出一个RuntimeException像一个IllegalArgumentException,以便您的顶级未处理异常逻辑可以得到控制.
对互联网进行简单的搜索将会出现许多关于断言与异常选择的文章,例如: