欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript錯誤處理try..catch...finally+涵蓋throw+TypeError+RangeError

 更新時間:2021年12月29日 11:16:50   作者:前端老實人  
這篇文章主要介紹了JavaScript錯誤處理:try..catch...finally+涵蓋throw+TypeError+RangeError,文章內(nèi)容具有一定的參考價值,需要的小伙伴可以參考一下,希望對你有所幫助

1.用途

通常,如果發(fā)生錯誤,腳本就會立即停止,并在控制臺將錯誤打印出來。

有了這個語句就可以捕獲錯誤并執(zhí)行合理操作,可以讓程序繼續(xù)執(zhí)行下去

2.語法

try {
  // 代碼...
} catch (err) {
   //err是有關錯誤詳細信息的對象
  // 錯誤捕獲,上面代碼報錯就會轉(zhuǎn)到這個代碼塊,而不會停止運行
} finally {
   //無論是否有異常拋出或捕獲它總是執(zhí)行
}

這種語句可以嵌套

3.實操

Catch 捕獲所有 error。

如果我們不知道如何處理它,那我們就 throw err。

throw 操作符會生成一個 error 對象。

用來拋出一個用戶自定義的異常。當前函數(shù)的執(zhí)行將被停止(throw之后的語句將不會執(zhí)行),并且控制將被傳遞到調(diào)用堆棧中的第一個Catch塊。如果調(diào)用者函數(shù)中沒有catch塊,程序?qū)K止。

示例:

throw "Error1"; // 拋出了一個值為字符串的異常
throw 4;       // 拋出了一個值為整數(shù)4的異常
 
/*JavaScript 中有很多內(nèi)建的標準 error 的構(gòu)造器:Error,SyntaxError,ReferenceError,TypeError 等。我們也可以使用它們來創(chuàng)建 error 對象。*/
let error = new Error("Things happen o_O");
alert(error.name); // Error
alert(error.message); // Things happen o_O
//json的異常
try {
  JSON.parse("{ bad json o_O }");
} catch(e) {
  alert(e.name); // SyntaxError
  alert(e.message); // Unexpected token b in JSON at position 2
}

補充:

try塊的代碼可能會拋出三種異常:TypeError,RangeErrorSyntaxError

有同學可能不知道這三個的意思,這里說明下

這兩個都是全局對象,全局的對象本身不包含任何方法, 然而它通過原型鏈繼承了一些方法.

instanceof 操作符用于判斷錯誤類型:

  • TypeError:(類型錯誤)對象用來表示值的類型非預期類型時發(fā)生的錯誤
  • RangeError: 對象標明一個錯誤,當一個值不在其所允許的范圍或者集合中
  • SyntaxError: 當Javascript語言解析代碼時,Javascript引擎發(fā)現(xiàn)了不符合語法規(guī)范的tokens或token順序時拋出

實例:

catch (e) {//以下是這個對象的參數(shù)屬性
  console.log(e instanceof TypeError); // true
  console.log(e.message);              // "描述此錯誤"
  console.log(e.name);                 // "TypeError"
  console.log(e.fileName);             // "引起該異常的代碼所在的文件的名字"
  console.log(e.lineNumber);           // 引起該異常的代碼的行號
}

到此這篇關于JavaScript錯誤處理try..catch...finally+涵蓋throw+TypeError+RangeError的文章就介紹到這了,更多相關JavaScript錯誤處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論