亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue errorHandler異常捕獲

 更新時間:2023年10月02日 15:45:42   投稿:wdc  
這篇文章主要介紹了Vue errorHandler異常捕獲,需要的朋友可以參考下

異常捕獲介紹

1.在日常前端開發(fā)中對于異常監(jiān)控的方式可以采用 window.onerror 方式進(jìn)行監(jiān)聽

	window.onerror = function(message, source, lineno, colno, error) {
	 	// message:錯誤信息(字符串)
		// source:發(fā)生錯誤的腳本URL
		// lineno:發(fā)生錯誤的行號
		// colno:發(fā)生錯誤的列號
		// error:Error對象
	}
	//或者
	window.addEventListener('error', function(e) { 
	  console.log(e)
	  console.log(e.target)
	})

2.在vue中需要使用errorHandler方法onerror方法無法捕獲Vue組件信息

Vue.config.errorHandler = function (err, vm, info) {
	  // err: 具體錯誤信息
	  // vm: 當(dāng)前錯誤所在的Vue實例
	  // info: 錯誤所在的生命周期鉤子
	}

errorHandler實際應(yīng)用

針對項目中錯誤的js語法和接口請求報錯進(jìn)行捕獲,需要注意的是接口捕獲需要手動捕獲
1.在main.js中注冊

//因為接口報錯需要手動捕獲 創(chuàng)建公用方法
const errorHandler = (err, vm, info) => {
	if(err.isAxiosError){
		//axios請求錯誤
	}else{
		//js語法錯誤
		console.log('err:'err.toString())
	}
}
//調(diào)用
Vue.config.errorHandler = errorHandler
//axios手動捕獲使用 綁定 prototype
Vue.prototype.$throw = (error) => errorHandler(error, this)

2.axios錯誤捕獲在封裝好的axios請求中進(jìn)行錯誤響應(yīng)捕獲,將錯誤信息交給 errorHadaler 函數(shù)進(jìn)行處理

Vue.$throw(error)
//或 
Vue.prototype.$throw(error)

對于error信息的解析

1.通過Json.stringify()對err進(jìn)行序列化

const errorHandler = (err, vm, info) => {
	if(err.isAxiosError){
		//axios請求錯誤為手動捕獲 不需要進(jìn)行解析處理 
	}else{
		const errJson = JSON.stringify(err, Object.getOwnPropertyNames(err), 2)
		console.log(JSON.parse(errJson ))
	}
}

2.通過error-stack-parser解析error堆棧

安裝方式:
npm install error-stack-parseryarn add error-stack-parser

//引入error-stack-parser
import ErrorStackParser from 'error-stack-parser'
const errorHandler = (err, vm, info) => {
	if(err.isAxiosError){
		//axios請求錯誤為手動捕獲 不需要進(jìn)行解析處理 
	}else{
		const errJson = ErrorStackParser.parse(err)[0]
		console.log(errJson)
		//通過fileName截取頁面名稱
		const fileName = stackInfo.fileName.match(/src.*?.vue/g)[0]
		console.log(fileName)
	}
}

到此這篇關(guān)于Vue errorHandler異常捕獲的文章就介紹到這了,更多相關(guān)Vue errorHandler異常捕獲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Electron采集桌面共享和系統(tǒng)音頻(桌面捕獲)實例

    Electron采集桌面共享和系統(tǒng)音頻(桌面捕獲)實例

    這篇文章主要為大家介紹了Electron采集桌面共享和系統(tǒng)音頻(桌面捕獲)實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • vue項目開啟gzip壓縮功能簡單實例

    vue項目開啟gzip壓縮功能簡單實例

    這篇文章主要給大家介紹了關(guān)于vue項目開啟gzip壓縮功能的相關(guān)資料,gizp壓縮是一種http請求優(yōu)化方式,通過減少文件體積來提高加載速度,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • vue+golang實現(xiàn)上傳微信頭像功能

    vue+golang實現(xiàn)上傳微信頭像功能

    這篇文章主要介紹了vue+golang實現(xiàn)上傳微信頭像功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • vue移動端微信授權(quán)登錄插件封裝的實例

    vue移動端微信授權(quán)登錄插件封裝的實例

    今天小編就為大家分享一篇vue移動端微信授權(quán)登錄插件封裝的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue3中安裝使用vue-i18n實時切換語言且不用刷新

    vue3中安裝使用vue-i18n實時切換語言且不用刷新

    這篇文章主要介紹了vue3中安裝使用vue-i18n實時切換語言不用刷新問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue-antd?form組件封裝全過程

    vue-antd?form組件封裝全過程

    這篇文章主要介紹了vue-antd?form組件封裝全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue3+element?plus中利用el-menu如何實現(xiàn)路由跳轉(zhuǎn)

    vue3+element?plus中利用el-menu如何實現(xiàn)路由跳轉(zhuǎn)

    這篇文章主要給大家介紹了關(guān)于vue3+element?plus中利用el-menu如何實現(xiàn)路由跳轉(zhuǎn)的相關(guān)資料,在Vue?Router中我們可以使用el-menu組件來實現(xiàn)菜單導(dǎo)航,通過點擊菜單項來跳轉(zhuǎn)到不同的路由頁面,需要的朋友可以參考下
    2023-12-12
  • Vue 將后臺傳過來的帶html字段的字符串轉(zhuǎn)換為 HTML

    Vue 將后臺傳過來的帶html字段的字符串轉(zhuǎn)換為 HTML

    這篇文章主要介紹了Vue 將后臺傳過來的帶html字段的字符串轉(zhuǎn)換為 HTML ,需要的朋友可以參考下
    2018-03-03
  • 基于vue中keep-alive緩存問題的解決方法

    基于vue中keep-alive緩存問題的解決方法

    今天小編就為大家分享一篇基于vue中keep-alive緩存問題的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue如何實現(xiàn)動態(tài)加載腳本

    vue如何實現(xiàn)動態(tài)加載腳本

    這篇文章主要介紹了vue如何實現(xiàn)動態(tài)加載腳本,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02

最新評論