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