JavaScript try...catch 語句

 JavaScript 語句和變量聲明

try ... catch語句標記要嘗試的語句塊,并指定在拋出異常(錯誤)時的響應。

try語句由一個try塊組成,其中包含一個或多個語句。{}必須始終用于單個語句。

必須至少存在一個catch子句或finally子句。這為try語句提供了三種形式:

  • try...catch

  • try...finally

  • try...catch...finally

使用try語句可以定義一個代碼塊,該代碼塊在執(zhí)行時將進行錯誤測試。

catch語句允許您定義將要執(zhí)行的代碼塊,如果在try塊發(fā)生錯誤。

finally聲明中,在try和catch后,無論結(jié)果如何,您可以執(zhí)行的代碼。

注意: catch和finally語句都是可選的,但是在使用try語句時,您需要使用其中之一(如果不能同時使用的話)。

使用throw語句創(chuàng)建自定義錯誤(拋出異常)。如果將throw和try 和 catch一起使用,則可以指定程序流并生成自定義錯誤消息(請參見下面的“更多示例”)。

您可以在我們的JavaScript異常教程中了解有關異常的更多信息。

語法:

try {
   //try_statements-要嘗試的語句
}
catch(err) {
   //catch_statements-處理錯誤的語句
}
finally {
  //finally_statements-無論try / catch結(jié)果如何,都要執(zhí)行的語句
}
try {
   aaalert("Hello world");
}
catch(err) {
   document.getElementById("result").innerHTML = err;
}
測試看看?/?

瀏覽器兼容性

所有瀏覽器完全支持try ... catch語句:

Statement
try...catch

參數(shù)值

參數(shù)描述
try_statements要執(zhí)行的語句。
err持有關聯(lián)的catch子句的異常對象的標識符。請參考錯誤對象。
catch_statements(可選)在try塊中引發(fā)異常時執(zhí)行的語句。如果沒有錯誤發(fā)生,則永遠不會執(zhí)行此代碼塊。
finally_statements(可選)在try語句完成之后執(zhí)行的語句。無論是否引發(fā)異常或捕獲異常,這些語句都會執(zhí)行。

技術細節(jié)

JavaScript版本:ECMAScript 3

更多示例

finally聲明中,您可以執(zhí)行代碼,try和catch后,無論結(jié)果如何:

try {
   aaalert("Hello world");
}
catch(err) {
   document.getElementById("result").innerHTML = err;
}
finally {
   document.getElementById("result").innerHTML += "<h3>Finally statement executed</h3>";
}
測試看看?/?

catchfinally語句都是可選的,但是在使用try語句時,您需要使用其中之一(如果不能同時使用):

try {
   aaalert("Hello world");
}
finally {
   document.getElementById("result").innerHTML = "最終執(zhí)行語句";
}
測試看看?/?

使用throw語句創(chuàng)建一個自定義錯誤(引發(fā)異常):

function getRectArea(width, height) {
   if (isNaN(width) || isNaN(height)) {
  throw "參數(shù)不是數(shù)字!";
   }
}

try {
   getRectArea(5, 'Z');
}
catch(err) {
   document.getElementById('para').innerHTML = err;
}
測試看看?/?

檢查輸入,如果值錯誤,則引發(fā)異常(err)。catch語句捕獲異常(err),并顯示自定義錯誤消息:

var x = document.querySelector("input").value;
try {
   if(x == "")  throw "is Empty";
   if(isNaN(x)) throw "Not a Number";
   if(x > 10)   throw "too High";
   if(x < 5)throw "too Low";
}
catch(err) {
   document.getElementById("para").innerHTML = "Input " + err;
}
測試看看?/?

還可以看看

JavaScript教程:JavaScript異常

JavaScript參考:JavaScript錯誤對象

JavaScript參考:JavaScript throw語句

 JavaScript 語句和變量聲明

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清