1. 错误码/errno
Linux中系统调用和某些库函数的错误(比如系统调用函数返回-1)都存储于 errno
中,errno
由操作系统维护,存储最近一次发生的错误,即下一次的错误码会覆盖掉上一次的错误。errno
是一个int类型全局变量,在errno.h中定义。当linux系统调用出错时,一般会将errno变量(需include <errno.h>
)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。errno值为0代表成功。
errno
错误码经常与strerror
函数配合使用。
strerror
函数:
char *strerror(int errnum)
- errnum – 错误号,通常是 errno。
- 该函数返回一个指向错误字符串的指针,该错误字符串对错误 errnum进行了描述。
示例:尝试打开一个不存在的文件导致open系统调用错误返回-1,并打印出来errno错误码与错误描述信息