Javascript Node.js错误处理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

首先,很抱歉我的英语很差,谢谢你点击这个问题

我想用Node.js代码读取一些文件

为此,首先,我必须检查文件是否存在

所以我用fs.stat来做这个

然后,我想同步读取文件

因此,我使用fs.readFileSync实现了这一点

我的问题是虽然我处理了fs.stat的错误,但我是否应该单独处理fs.readFilesync的错误?

下面是代码

  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()检查文件是否存在。相反,用户代码应该直接打开/读取/写入文件,并在文件不可用时处理引发的错误