前端异常处理
js
js执行代码过程中出错,会使当前执行环境下后续代码不执行
- try catch finally
- Promise.catch
- unhandledrejection事件:当Promise被 reject 且没有 reject 处理器的时候,会触发
- window.onerror 当 JS 运行时错误发生时,window会触发一个ErrorEvent接口的error事件,并执行 window.onerror()
- 并不能捕获语法错误和静态资源的加载错误。同样也不能捕获异步代码的错误,但是有一点值得注意的是,window.onerror能捕获同样是异步代码的setTimeout和setInterval里面的错误
- window.addEventListener('error', (e) => {})
- 资源的加载错误
- 不能捕获语法错误,Promise异常和iframe异常
React
Vue
js
Vue.config.errorHandler = function (err, vm, info) {
// handle error
// `info` 是 Vue 特定的错误信息,比如错误所在的生命周期钩子
// 只在 2.2.0+ 可用
}
HTTP
添加响应拦截器