web前端之异常/错误监控
为什么要异常/错误监控
我们都知道有程序难免就会有异常/错误,当我们代码越来越多的时候异常/错误出现的几率也就会多,虽然我们会有测试,但是测试用例并不能覆盖所有可能,所以程序在生产上运行的时候进行异常/错误监控是有必要的。当有用户进行某些操作,出现错误或异常我们就能马上的收到信息,并进行相应处理。如果程序没有这样的监控措施,错误就需要人肉去发现,这种发现效率是很低的。
web的异常/错误分类
运行时错误
比如代码运行有错误
捕获错误的方法通常是下面两种
try...catch
window.onerror = function(e){};
如果script
跨域要捕获错误,需要在script
上加 crossorigin
才能捕获到错误。 上面就是捕获运行时错误的常用方法。
资源错误
比如img、css、js 加载不成功,下面两种方法都可以知道有哪些资源错误
- 通过
performance.getEntries()
可以拿到所有成功加载的资源,拿到成功加载的资源,再和需要加载的资源进行对比就可以知道哪些资源加载错误了。 - 资源的错误是不会冒泡,所以我们通过
window.onerror = function(e){};
是无法得知,但是资源的错误可以被捕获,使用window.addEventListener("error",function(e){},true)
事件捕获这种方式就可以拿到资源错误的信息。
上报错误的方式
目前上报错误的方式一般是通过img标签来发送一个请求,这样既方便又快速。当然如果你想通过ajax方式也是可以的。
web前端之异常/错误监控相关推荐
- c-free5.0运行程序错误_web前端之异常/错误监控
为什么要异常/错误监控 我们都知道有程序难免就会有异常/错误,当我们代码越来越多的时候异常/错误出现的几率也就会多,虽然我们会有测试,但是测试用例并不能覆盖所有可能,所以程序在生产上运行的时候进行异常 ...
- 学习Web前端的七大误区,你遇到过几个?
随着移动互联网的兴起,Web前端开发异常火爆,互联网公司对于Web前端开发的需求越来越旺盛,越来越多的人加入前端开发队伍中.但Web前端在大学中没有课程体系,而且知识也在不断更新着,很多人在学习Web ...
- 前端代码异常日志收集与监控
在复杂的网络环境和浏览器环境下,自测.QA测试以及 Code Review 都是不够的,如果对页面稳定性和准确性要求较高,就必须有一套完善的代码异常监控体系,本文从前端代码异常监控的方法和问题着手,尽 ...
- 搭建前端错误监控系统
当我们完成一个业务系统的上线时,总是要观察线上的运行情况,查看日志发现问题并进行优化迭代. 因为测试永远无法做到100%覆盖,用户也不会总是按照我们所预期的进行操作,因此我们需要在系统异常时主动对其进 ...
- 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题
基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题 背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视 ...
- 基于sentry的前端错误监控日志系统(部署sentry服务器/前端项目部署)-让前端最快的定位到生产问题...
背景 在这越来越发达的网络时代,web应用也是越来越复杂,尤其是前端的开发,也是越来越受重视. 所以在我们前端开发完成后,会有一些列的web应用的上线验证,如自测.QA测试.code review 等 ...
- 搭建前端监控系统(二)JS错误监控篇
背景:市面上的监控系统有很多,大多收费,对于小型前端项目来说,必然是痛点.另一点主要原因是,功能通用,却未必能够满足我们自己的需求, 所以我们自给自足. 这是搭建前端监控系统的第二章,主要是介绍如何统 ...
- 前端错误监控与错误日志
平时工作中没怎么接触到这部分,对它的了解也零零碎碎的.今天看了几篇文章,算是有个完整的认识了,在这里总结记录一下. 项目上线之后肯定无法避免所有的bug,有些bug出现后开发人员并不知道,有的知道了缺 ...
- 解决web页面 报 异常、错误的 思路
虽然每次最终经过摸索,找到问题的所在,但总花费不少时间.只有模糊的排除思路.为此,总结并记录一下! 项目场景: web页面显示 后台错误等问题. 问题描述: web页面报500.内部服务器错误.404 ...
最新文章
- 根据16S预测微生物群落功能最全攻略
- cocos2d-x游戏开发 跑酷(四) 关联与物理世界
- 一个简单的.NET MVC 实例
- 1、java中自己觉得重要的部分——未完待续
- PAT 乙级 1043. 输出PATest(20) Java版
- python发音翻译-Python translate()方法
- 数据绑定控件Reperter
- 手把手教你给电脑安装manjaroLinux操作系统
- SketchUp2019下载SU2019下载安装教程SketchUp草图大师2019下载安装详细教程
- 手机声音同步到另一部手机_教你一招,手机耳机音量一键同步!
- 微信公众号、订阅号、服务号、企业号的区别
- 事业单位考试计算机专业知识题库,计算机考试题库:计算机考试模拟练习题(201)...
- 2022最全大数据学习路线(建议收藏)
- springfox集成教程
- drm单个framebuffer显示
- MySQL之库表设计篇:一到五范式、BC范式与反范式详解
- break语句和continue语句的区别
- nrf51822 --TWI(硬件IIC)
- Python细枝末节个人知识记录
- 网心科技打造全球首个百万量级节点的边缘云计算网络“星域云”
热门文章
- python3.9特性_Python3.9的7个特性
- android 多个标签页,Android一个标签页的实现
- hosts和resolv.conf区别
- 石大在线c语言在线考试填空题答案,奥鹏石大远程在线考试《钻井工程》-参考答案...
- python sslerror_python3中SSLError错误处理
- 分布式是什么,集群又是什么呢
- python条形码识别系统_Python识别处理照片中的条形码
- jacobi迭代法matlab_解线性方程组的经典迭代法(1)-理论
- python求回文_python实现求最长回文子串长度
- mysql数据库dao模式_古诗MySQL数据库DAO模式实现