错误编号

来自cppreference.com
< c‎ | error

每个定义于<errno.h>的宏都展开成int类型的整数常量表达式,并且拥有独立的正整数值。下列常量是定义的(实现可能定义更多,只要以'E'跟随数字或大写字母为首):

定义于头文件 <errno.h>
EDOM
数学参数在定义域外
(宏常量)
EILSEQ
(C95)
非法字节序列
(宏常量)
ERANGE
结果过大
(宏常量)

目录

[编辑] 注意

更多附加性错误常量为POSIXC++标准库所定义,而且每一个单独实现可能定义更多,例如Linux上的errno(3) 或BSD和OS X上的intro(2)

[编辑] 示例

#include <stdio.h>
#include <math.h>
#include <errno.h>
#include <string.h>
 
int main(void)
{
    errno = 0;
    printf("log(-1.0) = %f\n", log(-1.0));
    printf("%s\n\n",strerror(errno));
 
    errno = 0;
    printf("log(0.0)  = %f\n", log(0.0));
    printf("%s\n",strerror(errno));
}

可能的输出:

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兼容的线程局域错误编号变量
(宏变量) [edit]
将对应当前错误的字符串显示到stderr
(函数) [edit]
返回给定错误码的文本版本
(函数) [edit]
错误编号C++文档