я написал этот пример кода, чтобы повторить ошибку 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 в этом случае. Мой вопрос заключается в том, что это значит, и есть ли список тех, кто ошибочно выяснил причину этой ошибки.
1 ответ
0
errno
означает "номер ошибки" и является просто номером кода, назначенным конкретной ошибке в Unix-подобных системах. Как правило, символическая версия кода более полезна.
В C вы использовали бы функцию strerror
чтобы преобразовать код в фактическое описание. Не похоже, что в node.js есть такая функция, но, похоже, есть некоторые пользовательские реализации:
Вы также можете проверить справочную страницу для lstat
или обратиться к разделу руководства glibc по кодам ошибок.