前端異常捕獲

異常捕獲

a、全局捕獲

經過全局的接口,將捕獲代碼集中寫在一個地方,能夠利用接口有:vue

  • window.addEventListener(‘error’) / window.addEventListener(「unhandledrejection」) / document.addEventListener(‘click’) 等
  • 框架級別的全局監聽,例如aixos中使用interceptor進行攔截,vue、react都有本身的錯誤採集接口
  • 經過對全局函數進行封裝包裹,實如今在調用該函數時自動捕獲異常
  • 對實例方法重寫(Patch),在原有功能基礎上包裹一層,例如對console.error進行重寫,在使用方法不變的狀況下也能夠異常捕獲
b、單點捕獲

在業務代碼中對單個代碼塊進行包裹,或在邏輯流程中打點,實現有針對性的異常捕獲:react

  • try…catch
  • 專門寫一個函數來收集異常信息,在異常發生時,調用該函數
  • 專門寫一個函數來包裹其餘函數,獲得一個新函數,該新函數運行結果和原函數如出一轍,只是在發生異常時能夠捕獲異常
相關文章
相關標籤/搜索