【发布时间】:2021-08-19 15:14:34
【问题描述】:
我在Vue3的main.js中设置了一个全局errorHandler:
app.config.errorHandler = error => {
console.log("catch error")
}
在一般方法中,它运作良好。例如:
methods: {
showMessage() {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject("async error!")
}, 500)
})
}
}
它在控制台打印catch error,但是当我使用axios发出请求时,它无法捕获axios的Uncaught (in promise) Error。如:
methods: {
showMessage() {
this.$axios.get('/wrong-url/').then(response => {
console.log('wrong url')
})
}
}
此时全局errorHandler 无法捕捉到错误。控制台显示错误:
Uncaught (in promise) Error: Request failed with status code 404
我用谷歌搜索过,但找不到原因。
【问题讨论】:
-
最好用try-catch!
标签: javascript vue.js promise uncaught-exception