C 错误处理

mac2026-03-03  6

参考链接:https://www.runoob.com/cprogramming/c-error-handling.html 遇到错误,大多数C或者UNIX会返回1或者NULL,同时会设置一个errno,这个errno是全局变量 所以你可以通过检查返回值是否代表错误 C语言提供了perror()、和strerror()来显示与errno相关的信息 引入头文件

#include <errno.h> #include <string.h>

perror("自定义的提示信息")显示你传给它的字符串,后面跟一个冒号,然后跟上errno值对应的文本表示形式(即出错信息)strerror(number) 返回一个指针,指针指向errno为number时所对应的文本提示信息

extern int errno; ... fb=fopen("no_exist_filename","rb"); if(fb==1){ fprintf(stderr,"错误号:%d\n",errno); perror("通过 perror 输出错误"); fprintf(stderr,"打开文件错误:%s",strerror(errno)); } #输出 错误号: 2 通过 perror 输出错误: No such file or directory 打开文件错误: No such file or directory

**注意应该通过stderr文件流来输出所有的错误

抛出异常的方式

//引入头文件 #include <stdlib.h> //异常的时候 exit(-1); //正常的时候 exit(0)

通常情况下,程序运行成功的时候会带有值EXIT_SUCCESS,这是个宏,它被定义为0,而如果程序运行中出现了错误,退出程序时带有状态值EXIT_FAILURE,他被定义为-1; 所以上面的可以写为

//异常 exit(EXIT_FAILURE); //正常 exit(EXIT_SUCCESS);
最新回复(0)