zoukankan      html  css  js  c++  java
  • 前端监控之JavaScript错误

    一、意义:
      JavaScript报错严重影响业务逻辑,比如点击后js报错用户将操作不了,用户会觉得卡死,渲染JS报错将导致用户看到的页面异常,所以JS报错后果也是很严重的。为了应付用户线上环境各种异常,监控JavaScript报错也是很有必要

    二、捕获方法:
    首先要明确一点,所有错误都需要被window.onerror接收,因为该方法能解析出错误消息、错误文件、行、列、错误栈,通过这些信息为后面通过sourcemap还原源代码有重要作用。
    1、通过window.onerror捕获JS事件队列错误

    window.onerror = function (msg: string, file: string, line: number, column: number, err: Error) {
        const stack = getStackMsg(err);
        reportError({msg, file, line, column, stack});
        return false;
    };
    

    2、通过window.onunhandledrejection捕获Promise未捕获的报错,并抛出

    window.onunhandledrejection = function(event: PromiseRejectionEvent) {
        if (event.reason instanceof Error) {
            throw event.reason;
        }
    };
    

    3、通过Vue.config.errorHandler捕获vue项目报错,并抛出

    Vue.config.errorHandler = function (err: ErrorEvent) {
        setTimeout(() => {
            throw err;
        });
    }
    

    三、上报参数:
    window.onerror上报以下参数:
      1、path: string // 页面url
      2、msg: string // 错误消息
      3、file: string // 错误文件
      4、line: number // 错误行
      5、column: number // 错误列
      6、stack?: undefined|string // 错误堆栈
    后面根据错误文件、行、列还原源代码

    更快捷更准确接入前端监控

  • 相关阅读:
    i.MX6ULL使用寄存器配置GPIO
    i.MX6ULL的GPIO简要介绍。
    stm32的2个can控制器,主从理解
    ST-Link串口驱动安装--ST-Link VCP Ctrl驱动安装失败解决
    大漠穷秋叫狼哥哥要学好的书
    JQuery UI datepicker 经验
    JQuery UI datepicker 使用方法
    前端-细节处理笔记
    Grunt 前端自动化组件 收集
    JS deBug 技巧
  • 原文地址:https://www.cnblogs.com/chenjef/p/14731953.html
Copyright © 2011-2022 走看看