當在開發nodejs 程式 規模越來越大時
功能可能就被切割到多個function內
各階段的錯誤處理 有統一標準的作法
會便於建立標準的工作流程
整理一下關於錯誤的處理的注意要點
1.完全不處理 系統會自動以throw將錯誤丟出
2.若要對error資訊做處理或是加工 錯誤資訊
請用try catch包起來
3.丟出錯誤 請統一用Error物件丟出
catch攔截到的一定是Error物件
發生錯誤自動throw出去的也一定是Error物件
4.當使用catch攔截到error物件處理後
若寫了catch攔截錯誤
在catch內執行throw將錯誤往外丟
否則程式會繼續往下走
5.自訂Error物件
e= new Error('messagxxxxxe') 可透過e.message 取得資訊
系統throw出的錯誤訊息都會是在e.message
若要加入自訂的資料屬性可以用 ex: e.info = sql ..
Error物件屬性只有message是通用跨browser通用
6.系統已經加上error 處理的middleware
若錯誤沒有被處理回到route上
會被error handler接收
參考Error物件
沒有留言:
張貼留言