vue如何捕捉页面上的错误 然后通过api提交给后台

现在的需求是 需要捕捉到页面上的错误 并提交到后台 我现在通过拦截器拦截 好像只能捕捉到网络错误 请问具体的捕捉错误怎么捕捉 在什么地方写 ????

阅读 4.3k
5 个回答

重写Vue.config.errorHandler = function (err, vm) {
===>发送http请求给后端
}

// window error捕获的错误
window.onerror = (msg, url, line, col, error) => {
    var _msg = handleErrorMsg(error)
    console.log(error)
    report({
        type: 'window ERROR',
        msg: _msg,
        level: 'fatal'
    })
    return true // error不会以error形式打印到控制台
}

// promise rejecttion 错误捕获,promise错误需要单独捕获
window.addEventListener('unhandledrejection', e => {
    report({
        type: 'unhandledrejection',
        level: 'fatal',
        msg: e.reason
    })
    return true
})

// vue捕获的错误不会上报到window.error
Vue.config.errorHandler = function (error, vm, msg) {
    var _msg = handleErrorMsg(error)
    console.log(error)
    report({
        type: 'Vue errorHandler',
        level: 'fatal',
        error,
        msg: _msg
    })
}

你所说的错误都有哪些类型?

推荐问题
宣传栏