fs.lstat err 变量中的 errno 是什么意思?

fs.lstat err 变量中的 errno 是什么意思?

我编写了此示例代码来复制 Lstat 错误。 var fs=require("fs"); var path="/home/unixroot/Desktop/zookeeper1"; fs.lstat(path,function(err,stats){ if(err) { if(err.code==="ENOENT") { fs.exists(path,function(exist) { if(!exist) console.log("Path does not exists"); }); } console.log(err); } else { console.log(stats); } }); 现在我提供的路径不存在,当我打印 err 变量时,它显示如下。 { [Error: ENOENT, lstat '/home/unixroot/Desktop/zookeeper1'] errno: 34, code: 'ENOENT', path: '/home/unixroot/Desktop/zookeeper1' } 我不确定 errno,在本例中为 34。我的问题是它是什么意思,是否有这些 errno 的列表来找出此错误的确切原因。

答案1

errno表示“错误编号”,是类 Unix 系统上分配给特定错误的代码编号。通常,代码的符号版本更有用。

在 C 中,您可以使用函数strerror将代码转换为实际描述。node.js 似乎不包含这样的函数,但似乎有一些用户实现:

您还可以查看手册页lstat或参考 glibc 手册的错误代码部分

相关内容