c语言中的错误处理

1.stdlib.h头文件即standard library标准库函数头文件,包含了c,c++语言的最常用的系统函数,该文件中还包含了C语言标准库函数的定义。

2.errno 宏

errno 宏在stdlib.h中的定义为

#define errno (*_errno())

errno 宏用于保存程序在运行中的错误代码(error code),以及用于显示错误信息的字符串。

当程序运行时,errno宏被设置为0, 一旦程序发生了系统级的错误,errno宏就会被设置为其他值。

3.strerror()函数

  在“2errno宏" 中提到的 errno宏获取到的错误信息是错误的索引号,可以通过strerror()函数获取该错误索引号对应的错误信息。strerror() 函数在string.h头文件中定义,其格式为

char * strerror(int errnum);

其中,参数errnum是errno宏获取的错误索引号,该函数的返回值是错误信息。

4.perror() 函数

  perror() 函数显示标准错误输出流stderr中的错误信息,该函数的格式为:

void perror(const char *message);

其中参数message为要显示的信息,该信不包括保存在stderr中的错误信息。

 

5. stderr  有待增加

 

举例: 打开一个没有创建的文件 

#include <stdio.h>
#include <string.h>
int main()
{
   FILE *stream;
   if((stream = fopen("creat_new.c","r")) == NULL)
   {
      perror("perror says open failed");
      printf("strerror says open failed : %s\n",strerror(errno));  
    }else{
      printf("open succeded on input file\n");
      fclose(stream);
  }  
  return 0; }

输出结果:
  perror says open failed: No such file or directory

  strerror says open failed: No such file or directory 

 

 

 

FILE* 文件流指针  有待增加

上一篇:Java调取第三方HTTP,并将所获复杂(对象内包对象)json转为Java对象调用。


下一篇:ubuntu20.04安装pip2