gpt4 book ai didi

javascript - 如果文件不存在,fs.statSync 会抛出错误

转载 作者:IT老高 更新时间:2023-10-28 22:07:49 25 4
gpt4 key购买 nike

我正在尝试确定文件是否存在。如果它不存在,我希望我的代码继续,以便创建它。当我使用以下代码时,如果文件存在,它会打印出“它存在”。如果它不存在,它会使我的应用程序崩溃。这是我的代码:

var checkDuplicateFile = function(){
var number = room.number.toString();
var stats = fs.statSync(number);
if(stat){
console.log('it exists');
}else{
console.log('it does not exist');
}

};

最佳答案

您的应用程序正在崩溃,因为您没有将 fs.statSync 包装在 try/catch block 中。 Node 中的同步函数不会像在其 async 版本中那样返回错误。相反,他们抛出了需要被捕获的错误。

try {
var stats = fs.statSync(number);
console.log('it exists');
}
catch(err) {
console.log('it does not exist');
}

如果您的应用不需要此操作是同步的(阻止进一步执行,直到此操作完成),那么我将使用异步版本。

fs.stat(number, function(err, data) {
if (err)
console.log('it does not exist');
else
console.log('it exists');
});


关于javascript - 如果文件不存在,fs.statSync 会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33400294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com