js捕获错误信息

本文介绍了如何在客户端捕获JS语法和执行错误,以及收集请求错误。通过重载`window.onerror`函数,可以在原生JS环境中捕获错误信息。在Angular环境下,由于其特殊的错误处理机制,可以通过重置`console.error`来捕获错误。同时,针对请求错误,可以通过封装XMLHttpRequest来捕获异常。
摘要由CSDN通过智能技术生成

这个不是很常用的功能, 但是想收集客户端的错误信息时却很有必要了解下。 捕获分为两个方面:

收集JS语法、执行错误

最初的是想直接获取控制台的错误信息; 然而这并不大可行,JS并没有这样的功能。

转换下思路

在错误发生时,将错误进行存储。

原生JS实现方式:

通过重载 window 对象下的 onerror 函数, 可以截取到这些信息。

window.onerror = function(errorMessage, scriptURI, lineNumber,columnNumber,errorObj) {
   console.log("错误信息:" , errorMessage);
   console.log("出错文件:" , scriptURI);
   console.log("出错行号:" , lineNumber);
   console.log("出错列号:" , columnNumber);
   console.log("错误详情:" , errorObj);
}

框架实现方式:

只在angular 下做了实现,没有实现过的框架没有发言权;接下来将以angular为例。但要注意的是在部分框下这种方式是不生效的,原因是在框架解析代码前,所有的代码可以理解为都是文本而非js文件。

angular 环境下无法使用window.ondrror. 原因是angular体制内的代码通过$even 解析后并不会将错误移交给 window.onerror

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值