如何優雅的捕獲錯誤

2021-10-23 14:22:57 字數 657 閱讀 8540

之前的經常會出現這樣的**邏輯:

// 假設這是乙個api介面呼叫

function

userinfo()

, code:

'000'})

},3000)}

)}// 在頁面載入呼叫這個函式

async

function

getuserinfo()

catch

(error

)}

async

function

usecaptured

(asyncfunc)

catch

(error

)}

然後在任何你需要的檔案中引入上面這個幫助函式,這個幫助函式的封裝規則是遵循錯誤優先的規則,這點和node比較類似,然後函式的命名是遵循hooks的形式。

function

userinfo()

, code:

'000'})

},3000)}

)}async

function

getuserinfo()

}

是不是很棒!!!

參考文章

如何優雅的處理錯誤

1 封裝錯誤error,使其記錄錯誤檔名稱 檔案路徑 行數 操作 錯誤資訊等相關資訊。封裝錯誤型別,myerror 型別記錄了檔案,行號,相關的錯誤資訊 type myerror struct patherror 除了底層錯誤外還提供了使用哪個檔案,執行哪個操作等相關資訊。type patherro...

如何優雅地檢視 JS 錯誤堆疊?

本文由雲 社群發表 在前端,我們經常會通過window.onerror事件來捕獲未處理的異常。假設捕獲了乙個異常,上報的堆疊是這個 這個堆疊,你看得出問題來嗎?我們發布到 cdn 的指令碼檔案,普遍是經過 uglifyjs 壓縮的,所以堆疊可讀性相當的差。假如有下面的乙個堆疊檢視工具,又如何?眼尖的...

如何優雅地檢視 JS 錯誤堆疊?

本文由雲 社群發表 在前端,我們經常會通過window.onerror事件來捕獲未處理的異常。假設捕獲了乙個異常,上報的堆疊是這個 typeerror cannot read property module ofundefined at htmldivelement.dispatch at html...