web前端之異常/錯誤監控

爲何要異常/錯誤監控

咱們都知道有程序不免就會有異常/錯誤,當咱們代碼愈來愈多的時候異常/錯誤出現的概率也就會多,雖然咱們會有測試,可是測試用例並不能覆蓋全部可能,因此程序在生產上運行的時候進行異常/錯誤監控是有必要的。當有用戶進行某些操做,出現錯誤或異常咱們就能立刻的收到信息,並進行相應處理。若是程序沒有這樣的監控措施,錯誤就須要人肉去發現,這種發現效率是很低的。css

web的異常/錯誤分類

運行時錯誤

好比代碼運行有錯誤web

捕獲錯誤的方法一般是下面兩種ajax

  1. try...catch
  2. window.onerror = function(e){};

若是script跨域要捕獲錯誤,須要在script上加 crossorigin才能捕獲到錯誤。 上面就是捕獲運行時錯誤的經常使用方法。跨域

資源錯誤

好比img、css、js 加載不成功,下面兩種方法均可以知道有哪些資源錯誤測試

  1. 經過performance.getEntries()能夠拿到全部成功加載的資源,拿到成功加載的資源,再和須要加載的資源進行對比就能夠知道哪些資源加載錯誤了。
  2. 資源的錯誤是不會冒泡,因此咱們經過window.onerror = function(e){};是沒法得知,可是資源的錯誤能夠被捕獲,使用 window.addEventListener("error",function(e){},true) 事件捕獲這種方式就能夠拿到資源錯誤的信息。

上報錯誤的方式

目前上報錯誤的方式通常是經過img標籤來發送一個請求,這樣既方便又快速。固然若是你想經過ajax方式也是能夠的。code

相關文章
相關標籤/搜索