前言
本文介绍错误信息报告函数
错误信息报告函数的作用: 帮助程序员快速定位代码中的错误,以便更快地进行调试和修复问题。
文章目录
- 前言
- 一、错误信息报告函数
- 什么是错误信息报告函数
- 错误信息报告函数的作用
- strerror
- 函数介绍
- strerror函数使用
- 错误码对应的错误信息
一、错误信息报告函数
什么是错误信息报告函数
错误信息报告函数是一种软件编程中的函数,主要用于处理和报告程序运行时的错误和异常信息。 当程序运行时出现错误或异常情况时,错误信息报告函数会捕获错误信息,然后将错误信息输出到控制台、日志文件或其他指定的目标,以帮助开发人员找出程序中出现的问题并进行调试。通常,在开发过程中,使用错误信息报告函数可以有效地减少程序出错的时间,加速错误修复。
库函数在执行的时候,发生错位会将一个错误码存放errno这个变量中errno是C语言提供的一个全局的变量
错误信息报告函数的作用
**错误信息报告函数可以帮助开发人员快速检测程序中的错误,更好地诊断和解决问题。**通过记录和报告错误消息,开发人员可以了解程序的运行状况,识别可能存在的问题,并对其进行更有效的调试。此外,错误信息报告函数还可以帮助开发人员追踪错误的发生位置、类型和原因,并提供有用的调试信息,以便更快地解决错误。
strerror
函数介绍
strerror函数是一个C标准库函数,用于将errno变量的值转换为对应的错误消息字符串。errno是一个全局变量,它在发生错误时会被设置为一个非零值。strerror函数的原型如下:
char *strerror(int errnum);
它的参数errnum通常就是errno的值。strerror函数返回一个指向错误消息字符串的指针。例如,如果errno为EACCES,则strerror(errno)返回字符串"Permission denied"。
strerror函数通常用于打印错误消息或将错误消息写入日志文件。它可以帮助程序员更好地理解程序中的错误。strerror函数是一个C标准库函数,用于将errno变量的值转换为对应的错误消息字符串。errno是一个全局变量,它在发生错误时会被设置为一个非零值。strerror函数的原型如下:
strerror函数使用
/* strerror example : error list */
#include <stdio.h>
#include <string.h>
#include <errno.h>//必须包含的头文件
int main ()
{
FILE * pFile;
pFile = fopen ("unexist.ent","r");
if (pFile == NULL)
printf ("Error opening file unexist.ent: %s\n",strerror(errno));
//errno: Last error number
return 0;
}
Edit & Run
错误码对应的错误信息
在vs编译器中可以通过以下代码查看
#include<stdio.h>
#include<errno.h>
#include <string.h>
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
printf("%d : %s\n", i,strerror(i));
}
return 0;
}
输出结果
以下是常见的C语言错误码及其对应的错误信息:
请注意,这仅是一些常见的错误码,实际情况可能因系统和环境而异。
- 1:Operation not permitted
- 2:No such file or directory
- 3:No such process
- 4:Interrupted system call
- 5:I/O error
- 6:No such device or address
- 7:Argument list too long
- 8:Exec format error
- 9:Bad file number
- 10:No child processes
- 11:Try again
- 12:Out of memory
- 13:Permission denied
- 14:Bad address
- 15:Block device required
- 16:Device or resource busy
- 17:File exists
- 18:Cross-device link
- 19:No such device
- 20:Not a directory
- 21:Is a directory
- 22:Invalid argument
- 23:File table overflow
- 24:Too many open files
- 25:Not a typewriter
- 26:Text file busy
- 27:File too large
- 28:No space left on device
- 29:Illegal seek
- 30:Read-only file system
- 31:Too many links
- 32:Broken pipe
如这篇博客对大家有帮助的话,希望 三连 支持一下 !!! 如果有错误感谢大佬的斧正 如有 其他见解发到评论区,一起学习 一起进步。