assert()断言函数,用于在调试过程中捕捉程序错误
断言函数,用于在调试过程中捕捉程序的错误。
“断言”在语文中的意思是“断定”、“十分肯定地说”,在编程中是指对某种假设条件进行检测,如果条件成立就不进行任何操作,如果条件不成立就捕捉到这种错误,并打印出错误信息,终止程序执行。
assert() 会对表达式expression
进行检测:
- 如果
expression
的结果为 0(条件不成立),那么断言失败,表明程序出错,assert() 会向标准输出设备(一般是显示器)打印一条错误信息,并调用 abort() 函数终止程序的执行。 - 如果
expression
的结果为非 0(条件成立),那么断言成功,表明程序正确,assert() 不进行任何操作。
要打印的错误信息的格式和内容没有统一的规定,这和标准库的具体实现有关(也可以说和编译器有关),但是错误信息至少应该包含以下几个方面的信息:
- 断言失败的表达式,也即
expression
; - 源文件名称;
- 断言失败的代码的行号。
大部分编译器的格式如下所示:
Assertion failed: expression, file filename, line number
assert()断言函数,用于在调试过程中捕捉程序错误相关推荐
- c语言中assert函数,C++ 中assert断言函数的基本用法
在我们的实际开发过程之中,常常会出现一些隐藏得很深的BUG,或者是一些概率性发生的BUG,通常这些BUG在我们调试的过程中不会出现很明显的问题,但是如果我们将其发布,在用户的各种运行环境下,这些程序可 ...
- Python assert断言函数及用法
Python assert断言函数及用法 Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行:反之,Pyt ...
- Python assert断言函数
Python assert断言函数及用法 Python 中assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句.它用于判断某个表达式的值,如果值为真,则继续执行:反之,Python 解 ...
- matlab语言中的assert断言函数
1.MATLAB语言没有系统的断言函数,但有错误报告函数 error 和 warning.由于要求对参数的保护,需要对输入参数或处理过程中的一些状态进行判断,判断程序能否/是否需要继续执行.在matl ...
- c语言调试过程中的错误,C语言调试过程中duplicate symbol错误分析
说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...
- java cookie能存到服务器_Cookie技术用于将会话过程中的数据保存到( )中,从而使浏览器和服务器可以更好地进行数据交互。(5.0分)_学小易找答案...
[单选题]下列选项中,用于对超链接和form表单中的action属性中设置的URL进行重写的方法是(5.0分) [判断题]安装好Tomcat后,就可以直接启动运行了,并不要先安装JDK.(5.0分) ...
- STM32调试过程中出现的问题1:
STM32调试过程中出现的问题1: -\HARDWARE\KEY\key.c(47): error: #29: expected an expression if(key_up&&(K ...
- 在PHP输出时间代码调试过程中出现 “It is not safe to rely on the system’s timezone settings”
在PHP输出时间代码调试过程中出现 "It is not safe to rely on the system's timezone settings" 解决方法可试试: 1.在p ...
- 变频器调试过程中的常用参数设置详解
变频器调试过程中的常用参数设置详解 变频器的设定参数较多,每个参数均有一定的选择范围,使用中常常遇到因个别参数设置不当,导致变频器不能正常工作的现象.因此,变频器调试是从正确设置变频器参数开始的.以下 ...
最新文章
- java程序课程总结_java课程总结
- java创建线程的几种方式
- spring mvc使用的一些注意事项
- 一样入职的应届生工资不一样_天天向上汪涵透露工资细节,王一博拿的工资和他一样,不公平...
- 洛谷P5212:SubString(SAM、LCT)
- Android 上滑背景变淡,在Android中,如何平滑地将背景从一种颜色淡化到另一种颜色? (如何使用线程)...
- linux2.6 gcc,在Linux内核 2.6.38.7 上,gcc堆栈粉碎代码不工作 请帮助_gcc_开发99编程知识库...
- 图像视频压缩:深度学习,有一套
- Oracle故障:Breaking the connection before proto/dty negotiation, error raised 3136
- 二次元始,跌宕几年,至学术略有成就并步入业界的我与NLP的这七年时光!
- 汇编语言程序设计技巧详解(附例题)
- MATLAB GUI中显示数学公式
- 电信光纤ipv6-- 搭建属于自己的服务器
- IO流读取文件拒绝访问
- No discret job created in Oracle
- 轻松学Java基础篇 小白必备!
- 代数余子式之和怎么算_小明说养老 | 养老金怎么算之月平均缴费指数怎么来的?...
- 北航计算机学院马殿富,北京航空航天大学计算机学院院长马殿富演讲
- java指纹读取_Microsoft指纹读取器-迷你评论
- http1 http2 http 3 区别
热门文章
- python uiautomation选择list内容_蜗牛笔记-文章-UIAutomation使用中的问题
- 一点一点学习C++之笔记002
- 用tkinter画布(Canvas)作图,五角星
- 北外2010年同等学力英语考前辅导
- MessageBoxButtons.OKCancel的选择事件
- 系统学习Python——单元测试unittest:编写测试用例
- phpcms Flash上传修改为H5上传
- 热烈祝贺爱思华宝中国参加新加坡 EnterpriseIT 2016 展会
- ubuntu-16.04 详细安装教程(图文)附下载地址
- UltraEdit中shell语法高亮显示设置
在我们的实际开发过程之中,常常会出现一些隐藏得很深的BUG,或者是一些概率性发生的BUG,通常这些BUG在我们调试的过程中不会出现很明显的问题,但是如果我们将其发布,在用户的各种运行环境下,这些程序可 ...
Python assert断言函数及用法 Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下执行:反之,Pyt ...
Python assert断言函数及用法 Python 中assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句.它用于判断某个表达式的值,如果值为真,则继续执行:反之,Python 解 ...
1.MATLAB语言没有系统的断言函数,但有错误报告函数 error 和 warning.由于要求对参数的保护,需要对输入参数或处理过程中的一些状态进行判断,判断程序能否/是否需要继续执行.在matl ...
说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...
[单选题]下列选项中,用于对超链接和form表单中的action属性中设置的URL进行重写的方法是(5.0分) [判断题]安装好Tomcat后,就可以直接启动运行了,并不要先安装JDK.(5.0分) ...
STM32调试过程中出现的问题1: -\HARDWARE\KEY\key.c(47): error: #29: expected an expression if(key_up&&(K ...
在PHP输出时间代码调试过程中出现 "It is not safe to rely on the system's timezone settings" 解决方法可试试: 1.在p ...
变频器调试过程中的常用参数设置详解 变频器的设定参数较多,每个参数均有一定的选择范围,使用中常常遇到因个别参数设置不当,导致变频器不能正常工作的现象.因此,变频器调试是从正确设置变频器参数开始的.以下 ...