Namespaces
Variants

Error numbers

From cppreference.net
< c ‎ | error

<errno.h> 头文件中定义的每个宏都展开为一个具有 int 类型的整型常量表达式,且具有唯一的正值。以下常量由ISO C标准定义。实现可以定义更多宏,只要它们以 'E' 开头,后接数字或大写字母即可。

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

目录

注释

许多额外的 errno 常量由 POSIX C++ 标准库 定义,个别实现可能定义更多常量,例如 Linux 上的 errno ( 3 ) 或 BSD 与 OS X 上的 intro ( 2 )

示例

#include <errno.h>
#include <math.h>
#include <stdio.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

参考文献

  • C23 标准 (ISO/IEC 9899:2024):
  • 7.5/2 错误 <errno.h> (页: TBD)
  • C17 标准 (ISO/IEC 9899:2018):
  • 7.5/2 错误 <errno.h> (页: TBD)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.5/2 错误 <errno.h> (页: 205)
  • C99标准(ISO/IEC 9899:1999):
  • 7.5/2 错误 <errno.h> (页: 186)
  • C89/C90 标准 (ISO/IEC 9899:1990):
  • 4.1.3 错误 <errno.h>

参见

扩展为符合POSIX标准的线程局部错误码变量的宏
(宏变量)
将当前错误对应的字符串显示到 stderr
(函数)
返回给定错误码的文本描述
(函数)
C++ documentation for Error numbers