【问题标题】:error handling on readFileSync in node.jsnode.js 中 readFileSync 的错误处理
【发布时间】:2013-08-25 18:28:53
【问题描述】:

我有这个代码

var fd = fs.openSync(filePath,"r");
var fr = fs.readSync(fd, buffer, 0, size, 0);

它会抛出这样的错误

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: OK, open 'C:\Users\iahmed16\Desktop\eclipse WS\test\images\af31a9e0a98939be82f887b0005c21752e71425e.jpg'
  • 如何处理这个错误??
  • 如果你知道错误是什么意思??

【问题讨论】:

    标签: node.js error-handling synchronous fs


    【解决方案1】:

    这个错误似乎意味着你有too many file descriptions open

    你必须确保在某个时候你close()他们。

    var fd = fs.openSync(filePath,"r");
    var fr = fs.readSync(fd, buffer, 0, size, 0);
    fs.closeSync(fd);
    

    至于如何处理错误,可以使用try...catchthrown错误:

    try {
        var fd = fs.openSync(filePath,"r");
        var fr = fs.readSync(fd, buffer, 0, size, 0);
        fs.closeSync(fd);
    } catch (e) {
        console.log('Error:', e);
    }
    

    【讨论】:

    • 我正在使用 try...catch ... 但是一些错误会迫使应用程序崩溃并且不进入 catch 部分。或者这意味着我在代码的另一部分有错误???
    猜你喜欢
    • 1970-01-01
    • 2014-11-11
    • 2014-03-13
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多