Javascript Node.js错误处理fs.stat和fs.readFileSync之间的相关性
首先,很抱歉我的英语很差,谢谢你点击这个问题 我想用Node.js代码读取一些文件 为此,首先,我必须检查文件是否存在 所以我用fs.stat来做这个 然后,我想同步读取文件 因此,我使用fs.readFileSync实现了这一点 我的问题是虽然我处理了fs.stat的错误,但我是否应该单独处理fs.readFilesync的错误? 下面是代码Javascript Node.js错误处理fs.stat和fs.readFileSync之间的相关性,javascript,node.js,error-handling,file-io,Javascript,Node.js,Error Handling,File Io,首先,很抱歉我的英语很差,谢谢你点击这个问题 我想用Node.js代码读取一些文件 为此,首先,我必须检查文件是否存在 所以我用fs.stat来做这个 然后,我想同步读取文件 因此,我使用fs.readFileSync实现了这一点 我的问题是虽然我处理了fs.stat的错误,但我是否应该单独处理fs.readFilesync的错误? 下面是代码 fs.stat('./fooData.json', function(err, stat){ if(err === null){ // &l
fs.stat('./fooData.json', function(err, stat){
if(err === null){ // <-- on this point, fooData.json's existence is confirmed.
try{ // <-- should I error-handle for readFilesync again ?
let oldData = fs.readFileSync('./fooData.json');
}
catch(e){
console.log(e); // file read error handle
}
}
fs.stat('./fooData.json',函数(err,stat){
如果(err==null){/是,您应该这样做,因为调用fs.stat
不能保证在调用fs.readFileSync
时文件存在,而且也不能保证您可以读取此文件(无权限等等)
官方Node.js文档不建议在fs.readFileSync
之前使用fs.stat
:
不建议在调用fs.open()、fs.readFile()或fs.writeFile()之前使用fs.stat()检查文件是否存在。相反,用户代码应该直接打开/读取/写入文件,并在文件不可用时处理引发的错误
看