摘要:錯(cuò)誤概述錯(cuò)誤與異常是什么錯(cuò)誤,指程序中的非正常運(yùn)行狀態(tài),在其他編程語言中稱為異常或錯(cuò)誤。錯(cuò)誤與異常處理在應(yīng)用中的重要性是毋庸置疑的。預(yù)定義錯(cuò)誤類型除了基本錯(cuò)誤類型之外,還提供了七種預(yù)定義的錯(cuò)誤類型錯(cuò)誤類型說明與有關(guān)標(biāo)識引擎內(nèi)部錯(cuò)誤的異常。
錯(cuò)誤 概述
錯(cuò)誤與異常是什么
錯(cuò)誤,指程序中的非正常運(yùn)行狀態(tài),在其他編程語言中稱為‘異?!颉e(cuò)誤’。解釋器會為每一個(gè)錯(cuò)誤情形創(chuàng)建并拋出一個(gè)Error對象,其中包含錯(cuò)誤的描述信息。
通過使用JavaScript提供的異常處理語句,可以用構(gòu)造化的方式來捕捉發(fā)生的錯(cuò)誤,讓異常處理代碼與核心業(yè)務(wù)代碼現(xiàn)實(shí)分離。錯(cuò)誤與異常處理在應(yīng)用中的重要性是毋庸置疑的。任何有影響力的Web應(yīng)用都需要一套完善的錯(cuò)誤處理機(jī)制。
try...catch 語句
try...catch 語句作為JavaScrip中處理異常的一種標(biāo)準(zhǔn)方式。try語句標(biāo)記一塊帶嘗試的語句,如果該語句出現(xiàn)錯(cuò)誤,則通過catch語句進(jìn)行捕捉。基本的語法如下
try{
//可能會導(dǎo)致錯(cuò)誤的代碼
}catch(error){
//在錯(cuò)誤發(fā)生時(shí)的處理
}、
捕捉塊
可以使用捕捉塊來處理所有可能在try代碼塊中產(chǎn)生的異常。
catch(catchID){
statements
}
捕捉塊制定了一個(gè)標(biāo)識符(上述語句中的catchID)來存放拋物語句指定的指。
可以用這個(gè)標(biāo)識符來獲取拋出的異常信息。
終結(jié)塊
終結(jié)塊包含了在try和catch塊完成后,下面接著的語句之前執(zhí)行的語句。終結(jié)塊無論是否拋出異常都會執(zhí)行。如果拋出一個(gè)異常,就算沒有異常處理,終結(jié)塊李的語句也會執(zhí)行。
try{
console.log(0);
}catch(error){
console.log(1);
}finally{
console.log(3);
}
嵌套try...catch語句
可以嵌套一個(gè)或多個(gè)try...catch語句。如果一個(gè)內(nèi)部的try...catch語句沒有捕捉塊,將會啟動匹配外部的TRY...catch語句的捕捉塊。
try{
console.log(0);
}catch(error){
try{console.log(1); }catch(error){
console.log(2)
}
}
錯(cuò)誤類型基本錯(cuò)誤類型
執(zhí)行代碼期間可能會發(fā)生的錯(cuò)誤有多種類型,每種錯(cuò)誤都有對應(yīng)的錯(cuò)誤類型。當(dāng)錯(cuò)誤發(fā)生時(shí),就會拋出對應(yīng)類型的錯(cuò)誤對象。
Error 是基本錯(cuò)誤類型,其他錯(cuò)誤類型都是繼承自該類型。Error類型的錯(cuò)誤很少見,如果有也是瀏覽器拋出的。這個(gè)基礎(chǔ)錯(cuò)誤類型的主要目的時(shí)提供給開發(fā)人員派出自定義的錯(cuò)誤。
預(yù)定義錯(cuò)誤類型
除了基本錯(cuò)誤類型之外,JavaScript還提供了七種預(yù)定義的錯(cuò)誤類型
錯(cuò)誤 類型 說明
EvalError 與eval()有關(guān)
intemalError 標(biāo)識JavaScript引擎內(nèi)部錯(cuò)誤的異常。
RangeError 數(shù)值變量或參數(shù)超出其有效范圍。
ReferenceError 無效引用。
SyntaxError eval()在解析代碼的過程中發(fā)生的語法錯(cuò)誤。
TypeError 變量或參數(shù)不屬于有效類型
URIError 給encodeURI()decodeURI()傳遞的參數(shù)無效、
拋出語句
與try...catch語句相配合使用的還有throw 操作符,用于隨時(shí)拋出自定義錯(cuò)誤。拋出錯(cuò)誤是,必須要給throw操作符指定一個(gè)值(這個(gè)值說明類型,沒有要求。)
throw"Error";//String類型
throw 42 //Number類型
throw true ;//Boolean類型
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108467.html
摘要:但異常捕獲后程序可以繼續(xù)執(zhí)行,而真正的錯(cuò)誤出現(xiàn)后程序就必須終止異??梢允褂脕聿东@捕獲,捕獲之后后續(xù)代碼可以繼續(xù)執(zhí)行而錯(cuò)誤是無法使用捕獲的如果拋出了異常,就必須捕獲它否則程序終止執(zhí)行。 PHP錯(cuò)誤級別 Parse error > Fatal Error > Waning > Notice > Deprecated Deprecated 最低級別的錯(cuò)誤(不推薦,不建議)使用一些過期函數(shù)的...
摘要:異常與錯(cuò)誤異常是指程序運(yùn)行中不符合預(yù)期情況以及與正常流程不同的狀況。在中主要的錯(cuò)誤等級如下最低級別的錯(cuò)誤,表示不推薦不建議。小結(jié)中錯(cuò)誤和異常是兩個(gè)不同的概念,這種設(shè)計(jì)根本上導(dǎo)致了的異常和錯(cuò)誤與其它語言相異。中,異常時(shí)錯(cuò)誤唯一的報(bào)告方式。 異常與錯(cuò)誤 異常是指程序運(yùn)行中不符合預(yù)期情況以及與正常流程不同的狀況。錯(cuò)誤則屬于自身問題,是一種非法語法或者環(huán)境問題導(dǎo)致的、讓編譯器無法通過檢查設(shè)置無...
摘要:關(guān)聯(lián)值通常會作為參數(shù)被傳遞給異常類的構(gòu)造器。所有內(nèi)置異常的基類。此異常僅用于非限定名稱。由內(nèi)置函數(shù)和的方法所引發(fā),用來表示該迭代器不能產(chǎn)生下一項(xiàng)。當(dāng)一個(gè)或函數(shù)返回時(shí),將引發(fā)一個(gè)新的實(shí)例,函數(shù)返回的值將被用作異常構(gòu)造器的形參。 上一篇文章:Python標(biāo)準(zhǔn)庫---16、內(nèi)置類型:上下文管理器類型、其他、特殊屬性下一篇文章:Python標(biāo)準(zhǔn)庫---18、文本處理服務(wù):string 常見的字...
摘要:錯(cuò)誤與異常錯(cuò)誤與異常是什么錯(cuò)誤,指程序中的非正常運(yùn)行狀態(tài),在其他編寫語言中被稱為異?;蝈e(cuò)誤。解釋器會為每個(gè)錯(cuò)誤情形創(chuàng)建并拋出一個(gè)對象,其中包含錯(cuò)誤的描述信息。錯(cuò)誤與異常處理在應(yīng)用中的重要性是毋庸置疑的。語句語句作為中處理異常的一種標(biāo)準(zhǔn)方式。 錯(cuò)誤與異常 錯(cuò)誤與異常是什么 錯(cuò)誤,指程序中的非正常運(yùn)行狀態(tài),在其他編寫語言中被稱為異常或錯(cuò)誤。解釋器會為每個(gè)錯(cuò)誤情形創(chuàng)建并拋出一個(gè)Error對象...
一、PHP錯(cuò)誤處理 1.語法錯(cuò)誤2.運(yùn)行時(shí)錯(cuò)誤3.邏輯錯(cuò)誤:不提示錯(cuò)誤,但功能不對,最麻煩4.三種級別:notice/warning/fatal error(無法繼續(xù)執(zhí)行)5.錯(cuò)誤報(bào)告顯示: a.可以在php.ini中修改error_reporting項(xiàng)目,以限定錯(cuò)誤報(bào)告類型,如:error_reporting=E_ALL & ~E_NOTICE b.只修改某個(gè)腳本內(nèi)的錯(cuò)誤顯示,可以使用error...
閱讀 2000·2021-11-22 19:20
閱讀 2648·2021-11-22 13:54
閱讀 1980·2021-09-04 16:40
閱讀 1830·2021-08-13 11:54
閱讀 2681·2019-08-30 15:55
閱讀 3473·2019-08-29 13:51
閱讀 535·2019-08-29 11:09
閱讀 3014·2019-08-26 14:06