概述
最近读了《编程珠玑》 简单总结一下断言方面的知识
断言(assert)
断言不属于函数,它被定义为宏,而且只在debug的时候起作用。如果断言判断为假,则程序中止,真则继续运行。和if else类似,相当于if(假设成立) { 程序正常运行; } else { 终止程序!}不过断言会让程序易读,简洁。所以通常情况我们采用断言的方式判断程序正确性。
警告⚠️ 下面是些乏味内容,如果您只想简单了解断言,看到这就足够啦
编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。但是通常我们并不那么做。因为某些项目使用预处理器定义断言,于是可以在编译阶段处理断言,而不会导致运行时的额外开销。另一方面,图灵奖获得者Tony Hoare也曾经注意到,在测试时使用断言,而在产品发布时将断言关闭的程序员,就像是在岸上操练时穿着救生衣,而下海时将救生衣脱下的水手。
还有两种和断言接近的语法,但是他们各有各的应用场景
if else
if else属于分支结构,只有在简单的选择过滤时我们才会采用if else。非常复杂的情况if else会显得非常繁琐。这时我们可以选择采用try catch
try catch
try catch属于顺序结构,try可以解决我们不容易发现的异常,可以防止一些未知的错误。
try后面是正常运行的代码,当try后代码抛出异常时,则会跳到catch处理异常信息,这样一来可以极大的提高程序的稳定性,防止一些我们不能预料的错误。
最后
以上就是拼搏盼望为你收集整理的断言(assert)的艺术的全部内容,希望文章能够帮你解决断言(assert)的艺术所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复