问:我正在编写一个用于c语言编程中的错误处理的程序,但是我很难从if-else和switch-case中选择最佳的错误处理方法 。
请以适当的示例进行说明,并为我提供最佳方法。
提前致谢。
答:在C编程中,我们没有错误处理机制,但从系统编程语言的角度来看,它以返回值的形式提供了较低级别的访问。它可以在任何错误中返回-1和NULL,并设置错误代码errno,该错误代码是全局变量,指示在任何函数调用期间发生错误。在中定义的各种错误代码 头文件。
C编程语言提供了perror()和strerror()函数,可用于显示与errno关联的文本消息。
如果文件指针值指示为NULL(表示文件不在该位置或不存在),则下面的代码可以使用perror()和strerror()函数表示错误。
包括<stdio.h>
#include <errno.h>
#include <string.h>
外部错误;
int main()
{
FILE * PF;
整数
pf = fopen(“ unexist.txt”,“ rb”);
如果(pf == NULL)
{
errnum = errno;
fprintf(stderr,“ errno的值:%d \ n”,errno);
perror(“ perror打印的错误”);
fprintf(stderr,“打开文件时出错:%s \ n”,strerror(errnum));
}
其他
{
fclose(pf);
}
返回0;
}