日韩性视频-久久久蜜桃-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异常的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产精品伊人久久 | 欧美男女激情 | 奇米影视亚洲 | 69福利视频 | 成人免费观看视频网站 | 91网站在线免费观看 | 国产精品99精品久久免费 | 老熟妇高潮一区二区三区 | 打白嫩屁屁网站视频短裙 | 91精品国产乱码在线观看 | 91黄版| 中文字幕在线观看你懂的 | 免费看女人裸体 | 亚洲黄色a级片 | 天天爽夜夜爽夜夜爽精品视频 | 四虎影库在线播放 | 人妻在客厅被c的呻吟 | 欧美青草视频 | 天天躁日日躁狠狠躁喷水 | 国产精品成人在线 | 欧美a一级片 | 亚洲免费看av | 黑人精品无码一区二区三区AV | 亚洲免费av网站 | 777色| 深夜影院深a | 91午夜交换视频 | 爱操视频 | 叶爱在线 | 日韩精品一区不卡 | 顶级毛片| 久草蜜桃| 成年人在线免费 | 午夜久久福利 | 欧美我不卡 | 成年人视频在线观看免费 | 欧美99视频| 精品一区二区在线看 | 国产91精品一区二区 | 97少妇| 欧美久久综合网 | 韩日视频在线观看 | 中国女人毛片 | 日韩午夜片| 最新中文字幕 | 国产网站黄 | 天堂精品一区二区三区 | 成年午夜视频 | 日韩成人免费av | 国产第四页 | 天天摸天天做天天爽 | 美女一级黄色片 | 中文字幕亚洲乱码熟女1区2区 | 欧美日韩一区二区三区在线播放 | 亚洲精品高潮 | 欧美日韩国产图片 | 男女猛烈无遮挡免费视频 | 在线视频中文字幕 | 越南性xxxx精品hd | videos另类灌满极品另类 | 精品国产99一区二区乱码综合 | 亚洲精品aaa | 美女视频黄是免费 | 日剧大尺度床戏做爰 | 国产绳艺sm调教室论坛 | 天天色一色 | 无码人妻久久一区二区三区蜜桃 | 国产黄色片免费看 | 亚洲免费观看高清 | 亚洲专区一区 | 温柔女教师在线观看 | 亚洲国产日韩一区无码精品久久久 | www.好了av| 视频一区免费 | 亚洲欧美精品一区二区三区 | 美女隐私无遮挡免费 | 中文字幕看片 | 久久久久久久久久久国产精品 | 天天舔天天操天天干 | 久久久久久久久久久久久国产 | 亚洲欧美一区二区视频 | 久久金品 | 亚洲国产精品视频 | 精东传媒在线 | 丰满人妻一区二区三区大胸 | 美女视频黄色在线观看 | 国产5区 | 日韩不卡一二三 | 亚洲精品乱码久久久久久久 | 久久久精品视频在线 | 香蕉网久久 | 国产一区免费在线 | 日韩少妇内射免费播放18禁裸乳 | 高清一区二区 | 亚洲高清自拍 | 丁香av| 亚洲欧洲无码一区二区三区 | 伊人久久大香线蕉成人综合网 | 天天色天 |