错误号
每个定义于 <errno.h>
的宏都展开成 int 类型的整数常量表达式,并且拥有独立的正整数值。下列常量得到定义(实现可以定义更多,只要以 'E' 开始,后随数字或大写字母):
定义于头文件
<errno.h> | |
EDOM |
数学参数在定义域外 (宏常量) |
EILSEQ (C95) |
非法字节序列 (宏常量) |
ERANGE |
结果过大 (宏常量) |
注意
POSIX 和 C++ 标准库定义了更多的额外错误常量,而且每一个单独实现可能定义更多,例如 Linux 上的 errno(3)
或 BSD 和 OS X 上的 intro(2)
。
示例
运行此代码
可能的输出:
log(-1.0) = nan Numerical argument out of domain log(0.0) = -inf Numerical result out of range
引用
- C11 standard (ISO/IEC 9899:2011):
- 7.5/2 Errors <errno.h> (p: 205)
- C99 standard (ISO/IEC 9899:1999):
- 7.5/2 Errors <errno.h> (p: 186)
- C89/C90 standard (ISO/IEC 9899:1990):
- 4.1.3 Errors <errno.h>
参阅
展开成 POSIX 兼容的线程局域错误编号变量 (宏变量) | |
显示对应当前错误的字符串到 stderr (函数) | |
(C11)(C11) |
返回给定错误码的文本版本 (函数) |