平时工作中没怎么接触到这部分,对它的了解也零零碎碎的。今天看了几篇文章,算是有个完整的认识了,在这里总结记录一下。
项目上线之后肯定无法避免所有的bug,有些bug出现后开发人员并不知道,有的知道了缺无法快速准确的修复。这时候就需要在代码层面去处理bug,一是方便debug,二则是通过错误处理防止程序崩溃。
参考资料:
错误监控
最常用的错误监控当然是try catch
,通过catch
捕获到错误后进一步作出处理,但是try catch
无法捕获异步产生的错误,并且实际工作中也不可能为所有的代码都加上try catch
,所以能否全局捕获错误呢?
- React中
React的生命周期中提供了一个勾子用来处理错误:
componentDidCatch
,使用它可以非常简单的捕获react下的错误信息
componentDidCatch(error, info) {
console.log(error, info);
}
- Vue中
Vue中使用
Vue.config.errorHandler
勾子来处理错误
Vue.config.errorHandler = function (err