错误处理
来自 cppreference.com
< c
内容 |
[编辑] 错误号
在头文件
<errno.h> 中定义 | |
宏,展开为兼容 POSIX 的线程局部错误号变量 (宏变量) | |
标准 POSIX 兼容错误条件的宏 (宏常量) |
[编辑] 断言
在头文件
<assert.h> 中定义 | |
如果用户指定的条件不是 true,则中止程序。可能在发布版本中被禁用 (函数宏) | |
(C11)(在 C23 中移除) |
如果常量表达式的值为假,则发出编译时诊断 (关键字宏) |
边界检查标准库提供了一些现有函数的边界检查版本(gets_s、fopen_s、printf_s、strcpy_s、wcscpy_s、mbstowcs_s、qsort_s、getenv_s 等)。此功能是可选的,并且仅在定义了 __STDC_LIB_EXT1__ 时才可用。以下宏和函数支持此功能。
注意:边界检查函数的实现可作为开源库 Safe C 和 Slibc 以及 Watcom C 的一部分提供。Visual Studio 中还提供了一组不兼容的边界检查函数。 |
(自 C11 起) |
[编辑] 备注
自 C23 起,static_assert 本身就是一个关键字,它也可能是一个预定义宏,因此 <assert.h>
不再提供它。
[编辑] 参考
- C11 标准 (ISO/IEC 9899:2011)
- 7.2 诊断 <assert.h> (p: 186-187)
- 7.5 错误 <errno.h> (p: 205)
- 7.19 通用定义 <stddef.h> (p: 288)
- 7.20 整数类型 <stdint.h> (p: 289-295)
- 7.21 输入/输出 <stdio.h> (p: 296-339)
- 7.22 通用实用工具 <stdlib.h> (p: 340-360)
- K.3.1.3 errno 的使用 (p: 584)
- K.3.2/2 errno_t (p: 585)
- K.3.3/2 rsize_t (p: 585)
- K.3.4/2 RSIZE_MAX (p: 585)
- 7.31.3 错误 <errno.h> (p: 455)
- 7.31.10 整数类型 <stdint.h> (p: 456)
- 7.31.11 输入/输出 <stdio.h> (p: 456)
- 7.31.12 通用实用工具 <stdlib.h> (p: 456)
- C99 标准 (ISO/IEC 9899:1999)
- 7.2 诊断 <assert.h> (p: 169)
- 7.5 错误 <errno.h> (p: 186)
- 7.26.3 错误 <errno.h> (p: 401)
- 7.26.8 整数类型 <stdint.h> (p: 401)
- 7.26.9 输入/输出 <stdio.h> (p: 402)
- 7.26.10 通用实用工具 <stdlib.h> (p: 402)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 4.2 诊断 <assert.h>
- 4.1.3 错误 <errno.h>
- 4.13.1 错误 <errno.h>
- 4.13.6 输入/输出 <stdio.h>
- 4.13.7 通用实用工具 <stdlib.h>
[编辑] 参见
(C99)(C99)(C99) |
定义了常用数学函数使用的错误处理机制 (宏常量) |
C++ 文档 for 错误处理
|