前端异常处理

捕获异常js同步异常js异步异常资源加载异常Promise异常async/await
try…catch…
window.onerror
window.addEventListener(‘error’)
window.addEventListener(‘unhandledrejection’)
  • try catch捕获当前调用栈中的错误,因此无法捕获异步异常(抛出错误时try catch调用栈已经执行完毕退出。同时捕获后,异常不会向上继续抛出
    		function errHanlder(){
                try {
                    setTimeout(()=>{
                        var a =null
                        a.tostring()
                    },0)
                    
                } catch (error) {
                    console.log('trycatch',error)
                }
            }
            errHanlder()
    
  • window.onerror 需要reutrn true,否则控制台会继续抛出未捕获错误
    	window.onerror = function(e){
    	   console.log('onerror',e)
    	   //return true
    	}
    

在这里插入图片描述

  • window.addEventListener('error') 静态资源等无法通过·window.onerror·获取,因为当加载失败时,加载资源的元素会触发Event接口的error事件,并执行该元素上的onerror()处理函数,这些事件不会向上冒泡window,但可以通过addEventListener捕获

  • 跨域的JS文件异常捕获

    后台添加CORS+标签添加crossorigin

  • vue 捕获
    Vue.config.errorHandler

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值