8. linux下错误的捕获:errno和strerror的使用
经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因。这个时候使用errno这个全局变量就相当有用了。
在程序代码中包含 #include <errno.h>,然后每次程序调用失败的时候,系统会自动用用错误代码填充errno这个全局变量,这样你只需要读errno这个全局变量就可以获得失败原因了。
Strerror
1函数名strerror, _strerror, _wcserror, __wcserror
2函数作用Get a system error message (strerror, _wcserror) or prints auser-supplied error message (_strerror, __wcserror).
获取系统错误信息或打印用户程序错误信息。
功能:通过标准错误的标号,获得错误的描述字符串。
头文件#include<string.h>
4函数原型char *strerror( int errnum);
char *_strerror(const char *strErrMsg);
wchar_t * _wcserror(int errnum);
wchar_t * __wcserror(const wchar_t*strErrMsg);
参数:
errnum:错误标号,通常用errno(标准错误号,定义在errno.h中)
Error number.
strErrMsg
User-supplied message.
返回:
指向错误信息的指针(即:错误的描述字符串)。
本文深入探讨了Linux环境下错误处理的关键概念,包括如何利用errno全局变量捕捉错误,以及strerror系列函数如何将错误代码转换为易于理解的错误描述。详细介绍了errno的用途、strerror函数的作用、函数原型、参数以及返回值。
4万+

被折叠的 条评论
为什么被折叠?



