非常教程

C参考手册

错误处理 | Error handling

Error numbers

定义的每个宏都<errno.h>扩展为一个带有类型int和唯一正值的整型常量表达式。以下常量由ISO C定义。只要开始'E'后跟数字或大写字母,实现可定义更多。

| 在头文件<errno.h> |中定义

|:----|

| EDOM | 数学参数超出函数域(宏常量)|

| EILSEQ(C95)| 非法字节序列(宏常量)|

| ERANGE | 结果太大(宏常量)|

注意

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

#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标准(ISO/IEC 9899:2011):
    • 7.5/2错误<errno.h>(p:205)
  • C99标准(ISO/IEC 9899:1999):
    • 7.5/2错误<errno.h>(p:186)
  • C89/C90标准(ISO/IEC 9899:1990):
    • 4.1.3错误<errno.h>

另请参阅

错误号

宏扩展到POSIX兼容的线程局部错误号变量(宏变量)

PERROR

显示当前错误对应的字符串到stderr(函数)

strerrorstrerror_sstrerrorlen_s(C11)(C11)

返回给定错误代码(函数)的文本版本

| C++ documentation for Error numbers |

C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。