JavaScript try/catch/finally 语句

定义和用法

try/catch/finally 语句处理代码块中可能发生的部分或全部错误,同时仍在运行代码。

错误可能是程序员造成的编码错误、错误输入导致的错误以及其他不可预见的情况。

try 语句允许您定义要在执行时测试错误的代码块。

如果 try 块中发生错误,catch 语句允许您定义要执行的代码块。

finally 语句允许您在 try 和 catch 之后执行代码,而不管结果如何。

కమెంట్:catch మరియు finally వాక్యాలు ఎంపికాబడినవి కానీ, ట్రై వాక్యాన్ని ఉపయోగించినప్పుడు ఒకటినొకటి ఉపయోగించాలి (రెండింటినీ ఉపయోగించకుండా ఉండకూడదు).

అడ్వైజరీ:తప్పు జరగినప్పుడు, JavaScript సాధారణంగా ఆగి, తప్పు సందేశాన్ని ఉత్పత్తి చేస్తుంది. పరిమితిని సృష్టించడానికి థ్రో స్టేటమెంట్ వినియోగించండి (పరిమితిని ప్రారంభించండి). థ్రో, ట్రై మరియు క్యాచ్ తో కలిసి ఉపయోగించినప్పుడు, ప్రోగ్రామ్ ప్రవాహాన్ని నియంత్రించడానికి మరియు స్వంత తప్పు సందేశాలను సృష్టించడానికి మీరు సామర్థ్యం కలిగి ఉంటారు.

JavaScript తప్పులపై మరింత తెలుసుకోవడానికి, JavaScript తప్పు శిక్షణను అభ్యసించండి.

ఉదాహరణ

ఈ ఉదాహరణలో, మేము కోడ్ లో (ట్రై బ్లాక్ లో) తప్పుగా వచ్చాము.

ఈ ఉదాహరణలో, "Welcome guest!" అనే సందేశాన్ని తెలియజేయాలి, కానీ alert సంకేతం చెల్లని రూపంలో ఉంది.

catch బ్లాక్ తప్పులను కాప్పించి, దానిని నిర్వహించడానికి కోడ్ బ్లాక్ పూర్తి చేస్తుంది:

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
try {
  adddlert("Welcome guest!");
}
catch(err) {
  document.getElementById("demo").innerHTML = err.message;
}
</script>
</body>
</html>

స్వయంగా ప్రయత్నించండి

పేజీ కింద మరిన్ని TIY ఉదాహరణలు ఉన్నాయి.

సింథాక్స్

try {
  tryCode - ప్రయత్నించడానికి కోడ్ బ్లాక్
}
catch(err) {
  catchCode - తప్పులను నిర్వహించడానికి కోడ్ బ్లాక్
} 
finally {
  finallyCode - ట్రై / క్యాచ్ ఫలితాలకు అనుగుణంగా పూర్తి చేయబడని కోడ్ బ్లాక్
}

పారామీటర్ విలువలు

పారామీటర్స్ వివరణ
tryCode అవసరమైన. పూర్తి చేయవలసిన సమయంలో పరీక్షించవలసిన తప్పు కోడ్ బ్లాక్.
err అవసరమైన. క్యాచ్ తో కలిసి ఉన్నప్పుడు. సూచించిన తప్పు స్థానిక వేరియబుల్. ఈ వేరియబుల్ ఇరుగుబాటు వినియోగించవచ్చు (ఉదాహరణకు, సందేశం "'addlert' is not defined" కలిగిన ఇరుగుబాటు వినియోగించవచ్చు). ఇరుగుబాటు థ్రో స్టేటమెంట్ ద్వారా సృష్టించబడినప్పుడు, ఈ వేరియబుల్ థ్రో స్టేటమెంట్ లో సూచించిన వినియోగించబడుతుంది (మరింత ఉదాహరణలకు చూడండి).
catchCode ఎంపికాబడిన. ట్రై బ్లాక్ లో తప్పు ఉంటే పూర్తి చేయవలసిన కోడ్ బ్లాక్. తప్పక తప్పక ఈ కోడ్ బ్లాక్ పూర్తి చేయబడదు.
finallyCode ఎంపికాబడిన. ట్రై / క్యాచ్ ఫలితాలకు అనుగుణంగా ఏదైనా పూర్తి చేయవలసిన కోడ్ బ్లాక్.

టెక్నికల్ డెటైల్స్

జావాస్క్రిప్ట్ వెర్షన్: ECMAScript 3

మరిన్ని ఉదాహరణలు

ఉదాహరణ

ఈ ఉదాహరణ ప్రవేశాన్ని పరిశీలిస్తుంది. విలువ తప్పు అయితే, అపరాధాన్ని (err) తీసుకు పోతుంది.

catch పదం అనార్థతను (err) అద్దెస్తుంది మరియు స్వయంగత అపరాధ సందేశాన్ని ప్రదర్శిస్తుంది:

<!DOCTYPE html>
<html>
<body>
<p>Please input a number between 5 and 10:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">Test Input</button>
<p id="message"></p>
<script>
function myFunction() {
  var message, x;
  message = document.getElementById("message");
  message.innerHTML = "";
  x = document.getElementById("demo").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) {
    message.innerHTML = "Input " + err;
  }
}
</script>
</body>
</html>

స్వయంగా ప్రయత్నించండి

ఉదాహరణ

finally పదం ట్రై మరియు catch తర్వాత కోడ్ని నిర్వహిస్తుంది మరియు ఫలితాన్ని బట్టించకుండా:

function myFunction()
  var message, x;
  message = document.getElementById("message");
  message.innerHTML = "";
  x = document.getElementById("demo").value;
  try { 
    if(x == "") throw "Empty";
    if(isNaN(x)) throw "Not a number";
    if(x > 10) throw "Too high";
    if(x < 5) throw "Too low";
  }
  catch(err) {
    message.innerHTML = "Error: " + err + ".";
  }
  finally {
    document.getElementById("demo").value = "";
  }
}

స్వయంగా ప్రయత్నించండి

బ్రౌజర్ మద్దతు

పదం Chrome IE Firefox Safari Opera
try/catch/finally 支持 支持 支持 支持 支持

相关页面

JavaScript 教程:JavaScript 错误

JavaScript 参考手册:JavaScript throw 语句