Vue.config.errorHandler未捕獲錯誤的處理函數(shù)

如下官方api說明errorHandler-0:

errorHandler-0

先看下調(diào)用結(jié)果:我們在一個組件的生命周期里面運(yùn)行一段錯誤代碼如下圖:errorHandler-1

errorHandler-1

看下結(jié)果:這是未加errorHandler的結(jié)果,很明顯變量不存在,代碼錯誤如圖errorHandler-2,可能會阻塞代碼繼續(xù)執(zhí)行下去,導(dǎo)致網(wǎng)頁崩潰。我們通常處理未知代碼時會用到try.....catch,來避免這種情況。沒錯vue只是加了一個統(tǒng)一處理處,使用起來更方便。加過errorHandler之后的運(yùn)行代碼看下如圖errorHandler-3,errorHandler-4

errorHandler-2

errorHandler-3在main.js里面加如errorHandler函數(shù):

errorHandler-4是運(yùn)行結(jié)果:

errorHandler-3
errorHandler-4

接下來進(jìn)入源碼里面怎么做的,我們在做其他其他項目也可以借鑒下errorHandler-5:

errorHandler-5

如果你定義了errorHandler函數(shù),則會調(diào)你的方法??聪履睦锒颊{(diào)用了globalHandleError,在當(dāng)前文件里面handleError調(diào)用了errorHandler-6,看下handleError函數(shù)的調(diào)用,如果所料不錯,正如api里面介紹的,生命周期鉤子里,Vue 自定義事件處理函數(shù),v-on?DOM 監(jiān)聽器內(nèi)部會調(diào)用。一個一個來找下,

errorHandler-6

指令里面errorHandler-7:

errorHandler-7

nextTick里面errorHandler-8:

errorHandler-8

watch里面:errorHandler-9

errorHandler-9

還有很多。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容