日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

062_JavaScript异常

發布時間:2025/4/17 javascript 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 062_JavaScript异常 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. try語句使您能夠測試代碼塊中的錯誤。

2. catch語句允許您處理錯誤。

3. throw語句允許您創建自定義錯誤。

4. finally在try和catch之后, 無論結果如何, 使您能夠執行代碼。

5. try和catch

5.1. try語句允許您定義一個代碼塊, 以便在執行時檢測錯誤。

5.2. 如果try代碼塊中發生錯誤, catch語句允許你定義一個要執行的代碼塊。

5.3. JavaScript語句try和catch成對出現:

try {供測試的代碼塊 } catch(err) {處理錯誤的代碼塊 }

6. throw語句

6.1. throw語句允許您創建自定義錯誤。

6.2. 自定義錯誤可以是字符串、數字、布爾或對象。

6.3. 如果把throw與try和catch一同使用, 就可以控制程序流并生成自定義錯誤消息。

7. finally語句

7.1. finally語句允許您在try和catch之后執行代碼, 無論結果如何:

try {供測試的代碼塊 } catch(err) {處理錯誤的代碼塊 } finally {無論try/catch結果如何都執行的代碼塊 }

8. Error對象

8.1. JavaScript擁有當錯誤發生時提供錯誤信息的error對象。

8.2. error對象提供兩個有用的屬性: name和message。

8.3. Error對象屬性

9. Error的name屬性

9.1. error的name屬性可返回六個不同的值:

10. EvalError錯誤

10.1. 錯誤調用eval()函數中的發生EvalError錯誤。

10.2. 更新版本的JavaScript不會拋出任何EvalError。使用其它幾個錯誤代替。

11. RangeError錯誤

11.1. RangeError會在您使用了合法值的范圍之外的數字時拋出。

function myRangeError(){try {var num = 1;num.toPrecision(500); // 數無法擁有500個有效數}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;} }

12. ReferenceError錯誤

12.1. 假如您使用(引用)了尚未聲明的變量, 則ReferenceError會被拋出:

function myReferenceError(){try {var x = y + 1; // y無法被引用}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;} }

13. SyntaxError錯誤

13.1. 如果編寫代碼語法不對, 會SyntaxError被拋出:

function mySyntaxError(){try {eval("var num = 2; isNaN(num) ? throw '這里居然是語法錯誤' : +num;");}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;} }

14. TypeError錯誤

14.1. 假如您使用的值不在期望值的類型, 則TypeError被拋出:

function myTypeError(){try {var num = 3;num.toUpperCase(); // 您無法將數字轉換為大寫}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;} }

15. URIError錯誤

15.1. 假如您在URI函數中使用非法字符, 則URIError被拋出:

function myURIError(){try {decodeURI("%%%"); // 您無法對這些百分號進行URI編碼}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;} }

16. 例子

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>JavaScript異常</title></head><body><script type="text/javascript">function Calculator(){}Calculator.Add = function(p1, p2){if(p1 === ''){throw {name: 'TypeError', message: '第一個參數是空字符串'};}if(isNaN(p1)){throw {name: 'TypeError', message: p1 + '不是數字'};}if(p2 === ''){throw {name: 'TypeError', message: '第二個參數是空字符串'};}if(isNaN(p2)){throw {name: 'TypeError', message: p2 + '不是數字'};}var result = (+p1) + (+p2);if(result === Infinity){throw {name: 'RangeError', message: '計算結果太大'};}if(result === -Infinity){throw {name: 'RangeError', message: '計算結果太小'};}return result;}function doAdd(){var p1 = document.getElementById('p1').value;var p2 = document.getElementById('p2').value;try {document.getElementById("result").innerHTML = Calculator.Add(p1, p2);}catch(err) {document.getElementById("result").innerHTML = err.name + ': ' + err.message;}finally {p1 = null;p2 = null;}}function myRangeError(){try {var num = 1;num.toPrecision(500); // 數無法擁有500個有效數}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;}}function myReferenceError(){try {var x = y + 1; // y無法被引用}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;}} function mySyntaxError(){try {eval("var num = 2; isNaN(num) ? throw '這里居然是語法錯誤' : +num;");}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;}} function myTypeError(){try {var num = 3;num.toUpperCase(); // 您無法將數字轉換為大寫}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;}} function myURIError(){try {decodeURI("%%%"); // 您無法對這些百分號進行URI編碼}catch(err) {document.getElementById("showError").innerHTML = err.name + ': ' + err.message;}} </script><input type="text" id="p1" /> + <input type="text" id="p2" /> = <span id="result"></span> <br /> <br /><span id="showError" style="color: red;"></span> <br /> <br /><button onclick="doAdd()">計算加法</button><button onclick="myRangeError()">RangeError</button><button onclick="myReferenceError()">ReferenceError</button><button onclick="mySyntaxError()">SyntaxError</button><button onclick="myTypeError()">TypeError</button><button onclick="myURIError()">URIError</button></body> </html>

總結

以上是生活随笔為你收集整理的062_JavaScript异常的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。