中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在JavaScript中怎么處理異常及處理的try方法

發布時間:2020-07-09 11:40:15 來源:億速云 閱讀:239 作者:Leah 欄目:web開發

在JavaScript中怎么處理異常及處理的try方法?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

下面我們來看看try...catch...finally語句塊+throw是如何來進行異常處理的:

JavaScript可以通過try ... catch ... finally的構造以及throw運算符來處理異常。

這可以捕獲程序生成的和運行時發生的異常,但是你無法捕獲 JavaScript的語法錯誤。

一、try...catch...finally

下面我們來看看try ... catch ... finally塊語法:

<script type="text/javascript">
   <!--
      try {
         // 運行代碼
         [break;]
      } 
      
      catch ( e ) {
         // 如果發生異常,則運行代碼
         [break;]
      }
      
      [ finally {
         // 無論如何,始終執行的代碼
         // 異常發生
      }]
   //-->
</script>

try塊必須緊跟著一個catch塊或一個finally塊(或者兩者之一)。當在try塊中發生異常時,異常被放置在‘e’中,并且執行catch塊。可選的finally塊在try/catch之后無條件地執行。

例子:

調用一個不存在的函數的例子,而這個函數又引發了異常。讓我們看看如果沒有try... catch的表現會如何

function myFunc() {
     var a = 100;
     alert("變量a的值為 : " + a);
}
<p>點擊下面查看結果:</p>
	
<form>
	<input type="button" value="點擊我" onclick="myFunc();" />
</form>

運行:

在JavaScript中怎么處理異常及處理的try方法

現在讓我們嘗試使用try ... catch捕獲此異常并顯示用戶友好的消息。如果用戶要隱藏此錯誤,也可以禁止顯示此消息。

function myFunc(){
    var a = 100;
    ry {
         alert("變量a的值為 : " + a );
     } 
               
     catch ( e ) {
          alert("錯誤: " + e.description );
     }
}

運行:

在JavaScript中怎么處理異常及處理的try方法

你可以使用finally塊,它將始終在try / catch之后無條件執行。這是一個例子:

function myFunc() {
	var a = 100;

	try {
		alert("變量a的值為 : " + a);
	} catch(e) {
		alert("錯誤: " + e.description);
	} finally {
		alert("Finally塊將永遠執行!");
	}
}

運行:

在JavaScript中怎么處理異常及處理的try方法

二、throw

你可以使用throw語句來提高內置異常或自定義異常,稍后可以捕獲這些異常,并且可以采取適當的行動。

舉一個例:如何使用throw語句

function myFunc() {
	var a = 100;
	var b = 0;

	try {
		if(b == 0) {
			throw("除以零時出現誤差。");
		} else {
			var c = a / b;
		}
	} catch(e) {
		alert("錯誤: " + e);
	}
}

運行:

在JavaScript中怎么處理異常及處理的try方法

你可以使用字符串,整數,布爾值或對象在一個函數中引發異常,然后在與上面相同的函數中捕獲該異常,或者使用try ... catch塊在另一個函數中捕獲該異常。

關于在JavaScript中怎么處理異常及處理的try方法問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

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

AI

衡南县| 武川县| 会理县| 平和县| 罗定市| 平乐县| 修水县| 绥中县| 陇南市| 廉江市| 徐水县| 惠来县| 阿巴嘎旗| 平利县| 南陵县| 兴隆县| 秭归县| 黄陵县| 平潭县| 河池市| 潼关县| 且末县| 长岭县| 毕节市| 礼泉县| 巴南区| 永兴县| 菏泽市| 乌兰察布市| 海盐县| 江城| 子长县| 普宁市| 建湖县| 苏尼特左旗| 冀州市| 横山县| 东海县| 庆阳市| 庆云县| 富宁县|