为什么要异常/错误监控

我们都知道有程序难免就会有异常/错误,当我们代码越来越多的时候异常/错误出现的几率也就会多,虽然我们会有测试,但是测试用例并不能覆盖所有可能,所以程序在生产上运行的时候进行异常/错误监控是有必要的。当有用户进行某些操作,出现错误或异常我们就能马上的收到信息,并进行相应处理。如果程序没有这样的监控措施,错误就需要人肉去发现,这种发现效率是很低的。

web的异常/错误分类

运行时错误

比如代码运行有错误

捕获错误的方法通常是下面两种

  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方式也是可以的。

web前端之异常/错误监控相关推荐

  1. c-free5.0运行程序错误_web前端之异常/错误监控

    为什么要异常/错误监控 我们都知道有程序难免就会有异常/错误,当我们代码越来越多的时候异常/错误出现的几率也就会多,虽然我们会有测试,但是测试用例并不能覆盖所有可能,所以程序在生产上运行的时候进行异常 ...

  2. 学习Web前端的七大误区,你遇到过几个?

    随着移动互联网的兴起,Web前端开发异常火爆,互联网公司对于Web前端开发的需求越来越旺盛,越来越多的人加入前端开发队伍中.但Web前端在大学中没有课程体系,而且知识也在不断更新着,很多人在学习Web ...

  3. 前端代码异常日志收集与监控

    在复杂的网络环境和浏览器环境下,自测.QA测试以及 Code Review 都是不够的,如果对页面稳定性和准确性要求较高,就必须有一套完善的代码异常监控体系,本文从前端代码异常监控的方法和问题着手,尽 ...

  4. 搭建前端错误监控系统

    当我们完成一个业务系统的上线时,总是要观察线上的运行情况,查看日志发现问题并进行优化迭代. 因为测试永远无法做到100%覆盖,用户也不会总是按照我们所预期的进行操作,因此我们需要在系统异常时主动对其进 ...

  5. 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题

    基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题 背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视 ...

  6. 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题...

    背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视. 所以在我们前端开发完成后,会有一些列的web应用的上线验证,如自测.QA测试.code review 等 ...

  7. 搭建前端监控系统(二)JS错误监控篇

    背景:市面上的监控系统有很多,大多收费,对于小型前端项目来说,必然是痛点.另一点主要原因是,功能通用,却未必能够满足我们自己的需求, 所以我们自给自足. 这是搭建前端监控系统的第二章,主要是介绍如何统 ...

  8. 前端错误监控与错误日志

    平时工作中没怎么接触到这部分,对它的了解也零零碎碎的.今天看了几篇文章,算是有个完整的认识了,在这里总结记录一下. 项目上线之后肯定无法避免所有的bug,有些bug出现后开发人员并不知道,有的知道了缺 ...

  9. 解决web页面 报 异常、错误的 思路

    虽然每次最终经过摸索,找到问题的所在,但总花费不少时间.只有模糊的排除思路.为此,总结并记录一下! 项目场景: web页面显示 后台错误等问题. 问题描述: web页面报500.内部服务器错误.404 ...

最新文章

  1. 根据16S预测微生物群落功能最全攻略
  2. cocos2d-x游戏开发 跑酷(四) 关联与物理世界
  3. 一个简单的.NET MVC 实例
  4. 1、java中自己觉得重要的部分——未完待续
  5. PAT 乙级 1043. 输出PATest(20) Java版
  6. python发音翻译-Python translate()方法
  7. 数据绑定控件Reperter
  8. 手把手教你给电脑安装manjaroLinux操作系统
  9. SketchUp2019下载SU2019下载安装教程SketchUp草图大师2019下载安装详细教程
  10. 手机声音同步到另一部手机_教你一招,手机耳机音量一键同步!
  11. 微信公众号、订阅号、服务号、企业号的区别
  12. 事业单位考试计算机专业知识题库,计算机考试题库:计算机考试模拟练习题(201)...
  13. 2022最全大数据学习路线(建议收藏)
  14. springfox集成教程
  15. drm单个framebuffer显示
  16. MySQL之库表设计篇:一到五范式、BC范式与反范式详解
  17. break语句和continue语句的区别
  18. nrf51822 --TWI(硬件IIC)
  19. Python细枝末节个人知识记录
  20. 网心科技打造全球首个百万量级节点的边缘云计算网络“星域云”

热门文章

  1. python3.9特性_Python3.9的7个特性
  2. android 多个标签页,Android一个标签页的实现
  3. hosts和resolv.conf区别
  4. 石大在线c语言在线考试填空题答案,奥鹏石大远程在线考试《钻井工程》-参考答案...
  5. python sslerror_python3中SSLError错误处理
  6. 分布式是什么,集群又是什么呢
  7. python条形码识别系统_Python识别处理照片中的条形码
  8. jacobi迭代法matlab_解线性方程组的经典迭代法(1)-理论
  9. python求回文_python实现求最长回文子串长度
  10. mysql数据库dao模式_古诗MySQL数据库DAO模式实现