C中的错误处理

C语言不支持错误处理。还有其他一些方法可以用C语言完成错误处理。头文件“ error.h”用于使用return语句功能打印错误。

如果出现任何错误,则返回-1或NULL,并使用错误代码设置errno变量。每当用C语言调用一个函数时,errno变量就会与它关联。errno是全局变量,用于查找执行中的错误类型。

下表显示了一些错误-

序号错误和错误值
1I / O错误
5
2没有这样的文件或目录
2
3参数列表过长
7
4内存不足
12
5权限被拒绝
13

有一些方法可以处理C语言中的错误-

  • perror() -此函数用于打印错误,它返回字符串以及当前errno值的文本表示形式。

  • strerror() -该函数在“ string.h”头文件中声明,并返回指向当前errno值的字符串的指针。

  • 退出状态-有两个常量EXIT_SUCCESS和EXIT_FAILURE可以在函数中使用exit()以通知调用函数有关错误。

  • 除以零-在这种情况下,无法用C语言处理此错误。避免此错误,您可以在程序中使用'if'条件检查除数。

这是使用C语言进行错误处理的示例,

示例

#include <stdio.h>
#include <stdlib.h>

main() {
   int x = 28;
   int y = 8;
   int z;

   if( y == 0) {
      fprintf(stderr, "Division by zero!\n");
      exit(EXIT_FAILURE);
   }
   z = x / y;
   fprintf(stderr, "Value of z : %d\n", z );
   exit(EXIT_SUCCESS);
}

输出结果

这是输出

Value of z : 3