`

assert 断言

阅读更多
assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:

#include <assert.h> 
void assert( int expression ); 

assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。
大家要注意是,其中的表达式为假时,会终止程序运行,有时经常会写错代码,断言一个指针是否为空,往往写成了
assert(!p);其实应该写成assert(p);
assert是运行期的判断,并且会强制终止程序,一般要求只能用于debug版本中,是为了尽可能快的发现问题。
分享到:
评论

相关推荐

    深入探讨C++中的引用和ASSERT断言

    深入探讨C++中的引用和ASSERT断言,对引用和断言的理解会有很大的帮助

    VC中如何使用ASSERT断言

    VC中如何使用ASSERT断言 VC中如何使用ASSERT断言

    python assert的用处示例详解

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单。在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要...

    业务异常提示处理 springboot+Assert(自定义断言)

    使用springboot框架快速搭建,封装自定义断言做业务校验,公共异常处理打印日志, 更简单的业务判断处理

    函数重载、assert断言1

    1. 函数名相同 2. 参数的类型不同或参数的个数不同或参数的顺序不同 3. 不考虑返回值与调用约定 4. 同作用域的函数 1. 查找候选函数,查找所有指定名称

    Node.js assert断言原理与用法分析

    本文实例讲述了Node.js assert断言原理与用法。分享给大家供大家参考,具体如下: node.js官方API中文版 http://nodeapi.ucdok.com/#/api/assert.html assert 模块主要用于编写程序的单元测试时使用,通过断言可以...

    python3 assert 断言的使用详解 (区别于python2)

    今天小编就为大家分享一篇python3 assert 断言的使用详解 (区别于python2),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Python3 assert断言实现原理解析

    主要介绍了Python3 assert断言实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Java断言(assert)

    可以为Java复杂的测试提供简单的方法!可以加快开发进度

    Junit测试Void方法

    Junit通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比较,对于void类型的方法,我们无法从它的return语句获得具体的返回值。...

    Python断言assert的用法代码解析

    python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假。 可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常。 assert的语法格式: assert expression 它...

    C语言断言assert讲解

    在讲解之前,我们先来对断言做一个基本的介绍,让大家对断言有一个大致的了解。

    1-assert(断言).pdf

    1-assert(断言).pdf

    基于 HTTP 请求的快速数据驱动 pytest 接口自动化测试框架

    多元化断言,json 断言,sql 断言,json-schema 断言,正则断言,原生 python assert 断言。兼容 yaml / json 两种文件格式编写测试数据。测试用例自动生成,可以根据测试数据文件自动生成测试用例。自动测试报告,...

    python学习笔记—pythone 33个保留字及其含义

    断言,用于判断变量或条件表达式的值是否为真 4 break 中断循环语句的执行 5 class 用于定义类 6 continue 继续执行下一次循环 7 def 用于定义函数或方法 8 del 删除变量或序列的值 9 elif 条件语句,与...

    用JUnit测试void方法

    Junit 通常用于那些有明确返回值的方法的测试,而无法对返回值是void类型的方法进行测试,因为Junit的assert断言方法只适用于预期值与实际值的比 较,对于void类型的方法,我们无法从它的return语句获得具体的返回值...

    ember-qunit-assert-helpers:一个ember-addon,它提供特定于Ember.js的其他QUnit 2.0断言

    ember-qunit-assert-helpers 该插件提供了特定于Ember.js的其他QUnit 2.0断言。...用法Ember.assert断言断言assert.expectAssertion(callback, matcher) 断言Ember.assert确实引发了错误。 可以提供可选的字符串

Global site tag (gtag.js) - Google Analytics