在node.js中对readFileSync进行错误处理

7
我有这段代码。
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'
  • 如何处理这个错误?
  • 如果您知道的话,这个错误的含义是什么?
1个回答

10
错误似乎意味着您打开了太多的文件描述符。您必须确保在某个时刻关闭它们。"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...catchthrow 来处理错误:
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部分。这是意味着我的代码的其他部分存在错误吗? - Islam Ahmed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接