现在的需求是 需要捕捉到页面上的错误 并提交到后台 我现在通过拦截器拦截 好像只能捕捉到网络错误 请问具体的捕捉错误怎么捕捉 在什么地方写 ????
现在的需求是 需要捕捉到页面上的错误 并提交到后台 我现在通过拦截器拦截 好像只能捕捉到网络错误 请问具体的捕捉错误怎么捕捉 在什么地方写 ????
// 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
})
}
8 回答4.6k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
重写Vue.config.errorHandler = function (err, vm) {
===>发送http请求给后端
}