2015-07-12 48 views
1

我遵循節點JS的空第一個錯誤處理約定。回調完成爲callback(null, response)。收到回調響應後,我是否每次都必須檢查錯誤是否爲空?在nodejs的每個回調之後,我是否必須檢查錯誤?

實施例:

methodCB(function (error, response) { 
    if (error) { 
     //handle error 
     //Do i have to check this every single time for a callback? 
     //Are there design alternatives for this or is this just a node thing? 
    } else { 
     //process response 
    } 
}); 
+1

你用某種方式來編程,不處理錯誤?是的,所有可靠的代碼都會關注任何可能的錯誤返回 - 每一次!對於錯誤處理有不同的策略和工具(比如承諾),但是任何好的策略都有代碼來處理所有可能產生錯誤的情況。 – jfriend00

+0

@ jfriend00我不確定我的方法是否正確,因爲我認爲我正在編寫重複的代碼。謝謝(你的)信息 – user3808357

回答

4

像往常一樣,錯誤可以是操作錯誤或程序員的錯誤。

處理和拋出這些錯誤之間的選擇是一個相當深入的主題。關於node.js錯誤處理的規範指南是Node.js Best Practice Exception Handling,我強烈建議您閱讀。 本文重點介紹了應該專門處理錯誤的情況,以及其他您不應該這樣做的地方(相反,確保您的應用程序正常失敗)。

無論錯誤的來源和處理/投擲的選擇如jfriend00所建議的,所有健壯的代碼必須注意以任何可能的錯誤返回。

相關問題