摘要:錯(cuò)誤與異常錯(cuò)誤與異常是什么錯(cuò)誤,指程序中的非正常運(yùn)行狀態(tài),在其他編寫(xiě)語(yǔ)言中被稱(chēng)為異?;蝈e(cuò)誤。解釋器會(huì)為每個(gè)錯(cuò)誤情形創(chuàng)建并拋出一個(gè)對(duì)象,其中包含錯(cuò)誤的描述信息。錯(cuò)誤與異常處理在應(yīng)用中的重要性是毋庸置疑的。語(yǔ)句語(yǔ)句作為中處理異常的一種標(biāo)準(zhǔn)方式。
錯(cuò)誤與異常 錯(cuò)誤與異常是什么
錯(cuò)誤,指程序中的非正常運(yùn)行狀態(tài),在其他編寫(xiě)語(yǔ)言中被稱(chēng)為“異?!被颉板e(cuò)誤”。解釋器會(huì)為每個(gè)錯(cuò)誤情形創(chuàng)建并拋出一個(gè)Error對(duì)象,其中包含錯(cuò)誤的描述信息。
通過(guò)使用JavaScript提供的異常處理語(yǔ)句,可以用結(jié)構(gòu)化的方式來(lái)捕捉發(fā)生的錯(cuò)誤,讓異常處理代碼與核心業(yè)務(wù)代碼實(shí)現(xiàn)分離。
錯(cuò)誤與異常處理在應(yīng)用中的重要性是毋庸置疑的。任何有影響力的Web應(yīng)用都需要一套完善的錯(cuò)誤處理機(jī)制。
try...catch語(yǔ)句作為JavaScript中處理異常的一種標(biāo)準(zhǔn)方式。try語(yǔ)句標(biāo)記一塊待嘗試的語(yǔ)句,如果該語(yǔ)句出現(xiàn)錯(cuò)誤,則通過(guò)catch語(yǔ)句進(jìn)行捕獲。
基本語(yǔ)法:
try:{
//可能會(huì)導(dǎo)致錯(cuò)誤的代碼
}catch/捕捉塊/(error){
//在錯(cuò)誤發(fā)生時(shí)的處理
}
try{ console .log(v)//調(diào)用未定義變量 } //用于處理try語(yǔ)句中出現(xiàn)的錯(cuò)誤信息 catch(error){ //error 表示try語(yǔ)句中出現(xiàn)的錯(cuò)誤信息 console .log("你他媽的錯(cuò)了"); } //終結(jié)塊 catch語(yǔ)句中無(wú)法處理try語(yǔ)句中的錯(cuò)誤或異常時(shí),執(zhí)行finally語(yǔ)句中的內(nèi)容 finally{}嵌套try...catch語(yǔ)句
可以嵌套一個(gè)或多個(gè)try...catch語(yǔ)句。如果一個(gè)內(nèi)部的try...catch語(yǔ)句沒(méi)有捕捉塊,將會(huì)啟動(dòng)匹配外部的try...catch語(yǔ)句的捕捉塊。
try{ console .log(0); }catch(error){ try{ console .log(1); }catch(error){ console .log(2); } }基本錯(cuò)誤類(lèi)型
執(zhí)行代碼期間可能會(huì)發(fā)生的錯(cuò)誤有多種類(lèi)型,每種類(lèi)型都有對(duì)應(yīng)的錯(cuò)誤類(lèi)型。當(dāng)錯(cuò)誤發(fā)生時(shí),就會(huì)拋出對(duì)應(yīng)類(lèi)型的錯(cuò)誤對(duì)象。
Error是基本錯(cuò)誤類(lèi)型,其他錯(cuò)誤類(lèi)型都是繼承自該類(lèi)型。Error類(lèi)型的錯(cuò)誤很少見(jiàn),如果有也是瀏覽器拋出的。這個(gè)基本錯(cuò)誤類(lèi)型的主要目的是提供給開(kāi)發(fā)人員拋出自定義錯(cuò)誤的。
除了基本錯(cuò)誤類(lèi)型之外,JavaScript還提供了7中預(yù)定義的錯(cuò)誤類(lèi)型:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/96927.html
摘要:但如果忽視異常輕則影響功能運(yùn)行,重則導(dǎo)致系統(tǒng)崩潰,造成經(jīng)濟(jì)損失。異常處理捕獲異常捕獲關(guān)鍵字與一致,都是使用。語(yǔ)句塊表示無(wú)論是否發(fā)生異常,語(yǔ)句塊代碼一定會(huì)被執(zhí)行。 不少前端工程師看到這個(gè)標(biāo)題可能會(huì)產(chǎn)生質(zhì)問(wèn): 我js用得好好的,能后端能APP,為什么還要學(xué)習(xí)Python? 至少有下面兩個(gè)理由: 學(xué)習(xí)曲線(xiàn)。ES6之后的JavaScript(TypeScript)的在語(yǔ)法上和Python有很...
摘要:本文是重溫基礎(chǔ)系列文章的第二篇,需要讓自己靜下心來(lái),學(xué)習(xí),養(yǎng)成好習(xí)慣。系列目錄復(fù)習(xí)資料資料整理個(gè)人整理重溫基礎(chǔ)語(yǔ)法和數(shù)據(jù)類(lèi)型本章節(jié)復(fù)習(xí)的是中的控制流語(yǔ)句,讓我們能實(shí)現(xiàn)更多的交互功能。 本文是 重溫基礎(chǔ) 系列文章的第二篇,需要讓自己靜下心來(lái),學(xué)習(xí),養(yǎng)成好習(xí)慣。 系列目錄: 【復(fù)習(xí)資料】ES6/ES7/ES8/ES9資料整理(個(gè)人整理) 【重溫基礎(chǔ)】1.語(yǔ)法和數(shù)據(jù)類(lèi)型 本章節(jié)復(fù)習(xí)...
摘要:表達(dá)式用來(lái)計(jì)算出一個(gè)值,語(yǔ)句用來(lái)執(zhí)行以使某件事發(fā)生。其中,語(yǔ)句會(huì)立即退出循環(huán),強(qiáng)制繼續(xù)執(zhí)行循環(huán)后面的語(yǔ)句。在執(zhí)行語(yǔ)句之后,結(jié)果顯示。語(yǔ)句語(yǔ)句的作用是指定函數(shù)調(diào)用后的返回值。語(yǔ)句語(yǔ)句的作用是把程序運(yùn)行時(shí)產(chǎn)生的錯(cuò)誤顯式地拋出異常。 表達(dá)式在 JavaScript 中是短語(yǔ),那么語(yǔ)句就是整句命令。表達(dá)式用來(lái)計(jì)算出一個(gè)值,語(yǔ)句用來(lái)執(zhí)行以使某件事發(fā)生。從本質(zhì)上看,語(yǔ)句定義了 JavaScript...
摘要:第一個(gè)是,是你傳遞給異常的構(gòu)造函數(shù)的參數(shù),比如你可以使用屬性來(lái)訪(fǎng)問(wèn)到該消息第二個(gè)參數(shù)是異常堆棧跟蹤,非常重要。異常產(chǎn)生后能在后端正確處理是的關(guān)鍵部分。我將向你展示自定義構(gòu)造函數(shù)和錯(cuò)誤代碼的方法,我們可以輕松地將其傳遞給前端或任何調(diào)用者。 By Lukas Gisder-Dubé | nov 14, 2018 原文 接著我上一篇文章,我想談?wù)劗惓!N铱隙阒耙猜?tīng)過(guò)——異常是個(gè)好東西。一...
摘要:這樣很容易造成大的損失,提前做好錯(cuò)誤收集和處理,可以減少損失。 編寫(xiě)代碼只是做好項(xiàng)目的一小部分,寫(xiě)代碼難免會(huì)碰到錯(cuò)誤。因此,在項(xiàng)目上線(xiàn)后,我們還需要主動(dòng)對(duì)項(xiàng)目的錯(cuò)誤進(jìn)行收集,不能等用戶(hù)發(fā)現(xiàn)錯(cuò)誤,再聯(lián)系我們,我們?cè)偃ヌ幚?。這樣很容易造成大的損失,提前做好錯(cuò)誤收集和處理,可以減少損失。 本人并沒(méi)有做過(guò)相關(guān)的工作,下面的文章只是我在學(xué)習(xí)中的一點(diǎn)思考和總結(jié),可能有比較多不足和錯(cuò)誤的地方,希望大...
閱讀 833·2019-08-29 12:49
閱讀 3609·2019-08-29 11:32
閱讀 3532·2019-08-26 10:43
閱讀 2454·2019-08-23 16:53
閱讀 2113·2019-08-23 15:56
閱讀 1753·2019-08-23 12:03
閱讀 2824·2019-08-23 11:25
閱讀 2141·2019-08-22 15:11