欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux的errno

程序员文章站 2022-05-29 11:51:01
...

erron是一个错误码,系统调用出错的时候,会设置一个错误码。因为C语言没有异常处理机制,所以要依靠错误码进行异常情况的处理。

如果系统调用出错(一般是调用函数返回-1的时候)errno会被设置为有关的标记,系统调用成功可以重新设置设置该编码。errno永远不会被系统调用或者lib库函数设置为0。

errno是一个左值、可更改的、不能被显式声明的整型。是线程私有的,一个线程中的errno被改变不会影响其它线程的errno

具体详细参考:
http://man7.org/linux/man-pages/man3/errno.3.html

一般的用法是:

if (somecall() == -1) {
	perror("somecall() failed\n");
	if (errno == ...) {  // 判别错误码
		// 添加错误处理代码
    }
}
相关标签: errno 错误处理