Vue错误处理

今天在代码里写了个空指针,一运行代码崩了,崩溃的原因是js是单线程的,如果代码出现空指针那么当前进程被阻塞了,导致页面崩溃,知道了原因,那么如果我们在可能出错的地方加上类似try···catch这种操作是不是就可以让进程持续下去呢,事实证明确实是这样的,查看了vue官方文档,找到了如下解决方案,下面详细介绍一下。
errorhander
  • 用法
const errorHandler = (error, vm, info)=>{
   window.console.error(vm);//vm是出错组件实例
   window.console.error(error);//error参数包含错误信息可以锁定异常位置
   window.console.log(info)//info是出错阶段,比说是在哪个生命周期出错或者处理函数出错
}
Vue.config.errorHandler = errorHandler;
Vue.prototype.$throw = (error)=> errorHandler(error,this);
  • 版本支持情况

从 2.2.0 起,这个钩子也会捕获组件生命周期钩子里的错误。同样的,当这个钩子是 undefined 时,被捕获的错误会通过 console.error 输出而避免应用崩溃。

从 2.4.0 起,这个钩子也会捕获 Vue 自定义事件处理函数内部的错误了。

从 2.6.0 起,这个钩子也会捕获 v-on DOM 监听器内部抛出的错误。另外,如果任何被覆盖的钩子或处理函数返回一个 Promise 链 (例如 async 函数)࿰

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值