- 1
- 2
- 3
- 4
- 5
C语言中的断言与防御式编程.docx
资料介绍
C语言中的断言与防御式编程
一、什么是断言
断言(assert)是程序开发中用于检查不可能发生的情况的机制。当断言条件为假时,程序会终止执行并输出错误信息。
#include <assert.h>
int divide(int a, int b, int *result) {
assert(b != 0); // 除数为0不应该发生
*result = a / b;
return 0;
}
如果 b == 0,程序会在断言处停止,并输出类似以下的信息:
program: program.c:6: divide: Assertion `b != 0' failed.
二、断言 vs 错误处理
断言用于检查"程序bug",错误处理用于检查**"外部条件"**。
// 断言:这是程序逻辑上的bug,不应该发生
assert(ptr != NULL); // 程序员犯了错误才会传NULL
// 错误处理:这是外部条件,可能发生
FILE *fp = fopen("config.txt", "r");
if (fp == NULL) { // 文件可能不存在
// 这是错误处理
printf("文件不存在\n");
}
部分文件列表
| 文件名 | 大小 |
| C语言中的断言与防御式编程.docx | 39K |
最新上传
-
21ic小能手 打赏3.00元 20小时前
资料:小米MIX3电路图
-
21ic小能手 打赏10.00元 20小时前
-
21ic小能手 打赏5.00元 20小时前
-
江岚 打赏100.00元 2天前
用户:潇潇江南
-
他山之石可攻玉 打赏50.00元 2天前
用户:烟雨
-
21ic下载 打赏1.00元 2天前
用户:王小琪
-
yahuang001 打赏3.00元 3天前
-
yahuang001 打赏1.00元 3天前
-
zhongshaoxiong 打赏3.00元 3天前
-
他山之石可攻玉 打赏60.00元 3天前
用户:烟雨
-
江岚 打赏210.00元 3天前
用户:潇潇江南
-
江岚 打赏100.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏60.00元 3天前
用户:他山之石可攻玉
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏60.00元 3天前
用户:w178191520
-
21ic下载 打赏60.00元 3天前
用户:w993263495
-
21ic下载 打赏110.00元 3天前
用户:xzxbybd
-
21ic下载 打赏60.00元 3天前
用户:zq_1943
-
21ic下载 打赏20.00元 3天前
用户:kk1957135547
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:nuaanuaa111
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏15.00元 3天前
用户:ningmengge
-
21ic下载 打赏10.00元 3天前
用户:mulanhk
-
21ic下载 打赏5.00元 3天前
用户:asys
-
21ic下载 打赏10.00元 3天前
用户:舞蹈荀彧
-
21ic小能手 打赏5.00元 3天前
资料:磁编码器开源方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏50.00元 3天前
-
江岚 打赏20.00元 3天前




全部评论(0)