Error handling
错误处理
错误编号
| Defined in header <errno.h> |
|:----|
| errno | 宏扩展到POSIX兼容的线程局部错误号变量(宏变量)|
| E2BIG,EACCES,...,EXDEV | 用于标准POSIX兼容错误条件(宏常量)|的宏
Assertions
| Defined in header <assert.h> |
|:----|
| assert | 如果用户指定的条件不正确,则中止程序。对于发布版本(函数宏)|可能会被禁用
| static_assert(C11)| 如果常量表达式的值为false(函数宏)|,则会发出编译时诊断
边界检查标准库提供了一些现有函数的边界检查版本(gets_s,fopen_s,printf_s,strcpy_s,wcscpy_s,mbstowcs_s,qsort_s,getenv_s等)。该功能是可选的,并且仅在定义__STDC_LIB_EXT1__时可用。以下宏和函数支持此功能。在头文件中定义 | 在头文件 | 在头文件 | errno_t(C11) | 用于int类型的typedef,用于自我文档返回errno值的函数(typedef) | 在头文件 | rsize_t(C11) | 一个与size_t类型相同的typedef,用于在运行时对自己的参数进行范围检查的自我文档函数(typedef) | 在头文件 | RSIZE_MAX(C11) | 边界检查函数的最大可接受大小,扩展为可能在运行时改变的常量或变量(例如,当前分配的内存大小发生变化)(宏变量) | 在头文件 | set_constraint_handler_s(C11) | 为边界检查函数(函数)设置错误回调 | abort_handler_s(C11) | 取消对边界检查函数的回调(函数) | ignore_handler_s(C11) | 忽略边界检查函数的回调(函数) | (自C11以来) |
---|
| Defined in header <errno.h> |
| Defined in header <stdio.h> |
| errno_t(C11)| 用于int类型的typedef,用于自我文档返回errno值的函数(typedef)|
| Defined in header <stddef.h> |
| rsize_t(C11)| 与size_t类型相同的typedef,用于在运行时对自己的参数进行范围检查的自我文档函数(typedef)|
| Defined in header <stdint.h> |
| RSIZE_MAX(C11)| 最大可接受的边界检查函数的大小,扩展为可能在运行时改变的常量或变量(例如,当前分配的内存大小发生变化)(宏变量)|
| Defined in header <stdlib.h> |
| set_constraint_handler_s(C11)| 为边界检查函数(函数)|设置错误回调
| abort_handler_s(C11)| 取消对边界检查函数(函数)|的回调
| ignore_handler_s(C11)| 忽略边界检查函数(函数)|的回调
参考
- C11标准(ISO / IEC 9899:2011):
另请参阅
math_errhandlingMATH_ERRNOMATH_ERREXCEPT(C99)(C99)(C99) | 定义了常用数学函数(宏常量)使用的错误处理机制, |
---|
| C++ documentation for Error handling |