2013-08-25 85 views
5

處理上readFileSync我有這樣的代碼錯誤的node.js

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' 
  • 如何處理這種錯誤?
  • 如果你知道錯誤的含義是什麼?

回答

8

該錯誤似乎意味着您有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); 
} 
+0

我使用的try ... catch ...但是一些錯誤迫使應用程序崩潰而不是進入捕捉部分。或者說這意味着我在代碼的另一部分有錯誤? –