91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • JavaScript中錯誤處理try..catch...finally+涵蓋throw+TypeError+RangeError的示例分析

JavaScript中錯誤處理try..catch...finally+涵蓋throw+TypeError+RangeError的示例分析

發布時間:2021-12-29 12:52:23 來源:億速云 閱讀:192 作者:小新 欄目:開發技術

這篇文章主要介紹JavaScript中錯誤處理try..catch...finally+涵蓋throw+TypeError+RangeError的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1.用途

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

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

2.語法

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

這種語句可以嵌套

3.實操

Catch 捕獲所有 error

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

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

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

示例:

throw "Error1"; // 拋出了一個值為字符串的異常
throw 4;       // 拋出了一個值為整數4的異常
 
/*JavaScript 中有很多內建的標準 error 的構造器:Error,SyntaxError,ReferenceError,TypeError 等。我們也可以使用它們來創建 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塊的代碼可能會拋出三種異常:TypeErrorRangeErrorSyntaxError

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

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

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

  • TypeError:(類型錯誤)對象用來表示值的類型非預期類型時發生的錯誤

  • RangeError: 對象標明一個錯誤,當一個值不在其所允許的范圍或者集合中

  • SyntaxError: 當Javascript語言解析代碼時,Javascript引擎發現了不符合語法規范的tokens或token順序時拋出

實例:

catch (e) {//以下是這個對象的參數屬性
  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的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莲花县| 平南县| 沈丘县| 兴和县| 蓬莱市| 衢州市| 托克托县| 新丰县| 乌海市| 渝中区| 皮山县| 当阳市| 平谷区| 乡宁县| 龙山县| 宜君县| 交城县| 宁德市| 沙坪坝区| 当雄县| 威宁| 杭锦后旗| 怀远县| 湘乡市| 常山县| 额济纳旗| 白山市| 呼伦贝尔市| 景泰县| 华阴市| 博兴县| 西乌珠穆沁旗| 安庆市| 庆城县| 荣成市| 杭锦后旗| 安多县| 宝山区| 孝昌县| 疏勒县| 德化县|