我們在項目中經常遇到報錯程序終止執行,無法看到後續代碼渲染的內容,尤其是編寫異步代碼時無法捕捉錯誤,更是頭疼。
下面是一個簡單的錯誤處理的小例子。幫助大家提供一個簡單思路。
async getListData(version2Ids) {
let version1Id = getStore({ name: "versionId" });
let projectId = getStore({ name: "proId" });
let versionType = getStore({ name: "versionType" });
let data3 = {
version1Id: version1Id,
version2Id: version2Ids || version2Id,
projectId
};
try {
await benchmarkingHeader(data3).then(res => {
if (res.data.msg == "success") {
}
return res.data.data;
} else {
}
});
//如果沒有找到任何異常處理程序,js將會把異常當成程序錯誤來處理,並在瀏覽器顯示;
throw new Error("接口異常了,趕緊看看啊!!!");
} catch (e) {
console.log(e);//將異常攔截並顯示
}
finally{
console.log('不管try是否拋出異常,這裏的邏輯總會執行')
}