前端错误监控
一、错误分类1.运行时错误:这个错误往往是在写代码是造成的。如语法错误、逻辑错误等,这种错误一般在测试过程也能够发现。2.资源加载错误:这个错误通常是找不到文件或者是文件加载超时造成的。二、错误捕获1.代码错误捕获
try…catch…
window.onerror
a.
b.
c.
需要注意的是,函数只有在返回 的时候,异常才不会向上抛出,否则即使是知道异常的发生控制台还是会显示。
由于网络请求异常不会事件冒泡,因此必须在捕获阶段将其捕捉到才行,但是这种方式虽然可以捕捉到网络请求的异常,但是无法判断的状态是还是其他比如 等等,所以还需要配合服务端日志才进行排查分析才可以。
在实际的使用过程中, 主要是来捕获预料之外的错误,而 则是用来在可预见情况下监控特定的错误,两者结合使用更加高效。
2.资源加载错误
Object.onerror
利用的事件代理,但是需要注意的是事件是不冒泡的,可以使用事件捕获进行代理
三、错误上报常见的错误上报有两种:ajax、image对象(推荐)ajax上报就是在上文注释错误捕获的地方发起ajax请求,来向服务器发送错误信息
利用image对象
四、跨域js文件错误获取跨域js文件获取是有限制的,如果想获取其他域下的js错误需要再script标签中添加crossorgin属性,然后服务器要设置header('Access-Control-Allow-Origin');
领取专属 10元无门槛券
私享最新 技术干货