C语言不支持错误处理。还有其他一些方法可以用C语言完成错误处理。头文件“ error.h”用于使用return语句功能打印错误。
如果出现任何错误,则返回-1或NULL,并使用错误代码设置errno变量。每当用C语言调用一个函数时,errno变量就会与它关联。errno是全局变量,用于查找执行中的错误类型。
下表显示了一些错误-
序号 | 错误和错误值 |
---|---|
1 | I / 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