node.js中readFileSync的错误处理

Isl*_*med 5 error-handling synchronous fs node.js

我有这个代码

var fd = fs.openSync(filePath,"r");
var fr = fs.readSync(fd, buffer, 0, size, 0);
Run Code Online (Sandbox Code Playgroud)

它会抛出这样的错误

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

Jon*_*ski 8

该错误似乎意味着您打开了太多文件描述.

你必须在某些时候确定你是close()他们.

var fd = fs.openSync(filePath,"r");
var fr = fs.readSync(fd, buffer, 0, size, 0);
fs.closeSync(fd);
Run Code Online (Sandbox Code Playgroud)

至于如何处理错误,你可以使用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);
}
Run Code Online (Sandbox Code Playgroud)