2015-02-08 72 views
1

我知道你可以通過構造類似這樣的消息:nodejs使用的Error構造函數的參數是什麼?

err = new Error('This is an error'); 

,但有更多的參數,它可以處理這樣一個錯誤的名字,錯誤代碼等..?

我也可以將它們設置是這樣的:

err.name = 'missingField'; 
err.code = 99; 

,但爲了簡便起見,我想這些傳遞給構造函數,如果它可以接受。

我可以包裝該功能,但只想在需要的時候這樣做。

構造函數或文檔的代碼在哪裏?我搜索了網頁,nodejs.org網站和github,但沒有找到它。

回答

2

您在node.js中使用的Error類不是特定於節點的類。它來自JavaScript。

由於MDN州,Error構造函數的語法如下:

new Error([message[, fileName[, lineNumber]]]) 

fileNamelineNumber不規範的特點。

爲了將自定義屬性您可以手動添加到Error類的實例,或者創建自定義的錯誤,像這樣:

// Create a new object, that prototypally inherits from the Error constructor. 
function MyError(message, code) { 
    this.name = 'MyError'; 
    this.message = message || 'Default Message'; 
    this.code = code; 
} 
MyError.prototype = Object.create(Error.prototype); 
MyError.prototype.constructor = MyError; 
相關問題