如何追踪线上的 js 错误

前情提要

这个问题从我接手的第一个项目开始就遇到过这个问题,那时候还是在游戏组实习,就听隔壁前端组的大喊大叫,为什么有用户反应又出了什么什么问题,怎么又又用不了了。

程序员小哥很淡定的说:“用户用什么浏览器?怎么重现?”。

这个问题对于程序员来说是比较常见的,可能潜意识里面很难理解,竟然有用户不知道自己用的是什么浏览器。然后客服就去沟通用户。

用户反馈:“啊,不就是手机自带的浏览器!”

程序员:“他用什么手机?什么版本,安卓还是ios,安卓版本多少?发生错误之前都做了什么操作?”

客服:“?”
用户:“?”

有趣的是,这个问题来来回回沟通了两三天时间,最后因为用户用的手机是安卓版本较低的,我们公司找不到重现的机子,最终最开始大喊大叫的经理说,“等找到重现手机再说吧,反正也只有这一个用户遇到这个问题”。

后来如何,我想大家都很清楚了。只要是“等以后在做,后续优化”,那基本上这个需求就是被毙了。

那时候我就在想,是只有那一个手机遇到问题,还是那一系列手机都有问题?只有这一个用户遇到这个问题,是真的只有他遇到问题,还是只有他反馈问题呢?其实做开发的,收到正反馈的机会,会比收到负反馈的机会要少的多。有没有什么方式,能够自动记录下来所有用户遇到的问题呢?然后把程序员需要的数据正确反馈上来?

回到我们的问题上,如何追踪线上的错误?那你知不知道如何追踪本地错误呢?(在不打开控制台,没有 debug 的时候。)

如何捕获程序错误?

如何捕获js原生错误?

这个算是基本的js的操作了,其实就是监听 window.onerror。

<!DOCTYPE html>
<html lang="en">

<head>
  <script>
    window.onerror = function (message, source, lineno, colno, exception) {
     
      console.log(message);
      console.log(
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值