如何優雅處理前端異常?
隨著行業對于用戶體驗的重視,前端異常處理這塊也被重視起來了。像以前,很少有網站管你前端是否會出現異常的,但現在較大的網站都會收集前端的異常,然后上報到服務端。
所以前端異常處理分兩部分:異常捕獲 + 異常上報。我們來一一看下。
1、異常捕獲
各主流開發語言都是用 try... catch .. 來捕獲異常的,當然前端JavaScript也不例外了。最簡單的代碼如下:
try { ... }catch(e){console.log(e);}
我們雖然可以用 try...catch...來對異常進行處理,但是也存在個問題:代碼會越來越復雜,越來越臃腫,而且這種方法只適合片斷代碼的異常捕獲,全局異常捕獲很麻煩。
于是有一個更好的方法。
window.onerror 它就提供了全局異常監聽的功能,不光光提供了錯誤代碼的行號、還提供了借誤信息,非常有利于我們對異常進行精確定位。
2、異常上報
當我們捕獲到了前端異常后,就需要把異常上報到后臺服務器了,我們一般通過Ajax來提交。在上報時我們為了減輕后端壓力,所以建議前端若異常是相似的,只上報1次處理。
經過以上的處理,當前端出現異常后,我們可以實時通知程序員進行核驗修復。