之前沒注意過這么個小技巧 , 可能在Vue文檔里也有 暫時先記下了 方便摘要
Vue全局配置 errorHandler可以進行全局錯誤收集,我們可以根據這個特性對前端異常做這樣的處理:業務錯誤直接寫在業務里;代碼錯誤、ajax請求異常等錯誤可以進行全局捕獲然后拋出,不至於前端頁面掛掉
import Vue from 'vue'
//系統錯誤捕獲
const errorHandler = (error, vm)=>{
console.error('拋出全局異常');
console.error(vm);
console.error(error);
}
Vue.config.errorHandler = errorHandler;
Vue.prototype.$throw = (error)=> errorHandler(error,this);
tips:
1、代碼錯誤不用手動拋出,全局會捕獲到
2、如果是ajax異步請求,異常需要通過this.$throw()手動拋出
