前端错误监控收集与上报

1、JavaScript 脚本错误(同步任务及除了 new Image() 之外的资源加载错误):
当 JavaScript 脚本运行错误的时候或者资源 < img /> < script > 加载失败时,会触发 Event 接口的 error 事件,也能被 window.addEventListener 捕获到

window.addEventListener('error', (err) => { // 或者 window.onerror = function(err){}
    // 错误收集处理
    console.log(err)


    // 调用接口,进行错误上报
    ...
})

2、Promise 实例或者 async 错误
当 Promise 实例从 pending 状态到 reject 状态后并没有进行 catch 或者使用 reject 处理器处理时的错误,会触发 unhandledrejection 事件

// 错误收集
window.addEventListener('unhandledrejection', (event) => {
    // 错误收集处理
    console.log(event.reason)


    // 调用接口,进行错误上报
    ...
})

3、vue 语法或者规则的错误:
当你的工程项目是 vue 构建时,可以使用 vue.config.errorHandler 进行捕获关于 vue 语法或者规则的错误

vue2
import Vue from 'vue'
import App from './App.vue'
Vue.config.errorHandler = function(err, vm, info) {
    console.log(err, vm, info)
}
new Vue({
  render: h => h(App),
}).$mount('#app')


vue3
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
app.errorHandler = (err, vm, info) => {
    // 错误收集处理
    console.log(err, vm, info)


    // 调用接口,进行错误上报
    ...
}
app.mount('#app')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值