ਜਾਵਾਸਕ੍ਰਿਪਟ ਟਰਾਈ/ਕੈਚ/ਫਾਇਨਲੀ ਸਟੇਟਮੈਂਟ

ਨਿਰਧਾਰਣ ਅਤੇ ਵਰਤੋਂ

ਟਰਾਈ/ਕੈਚ/ਫਾਇਨਲੀ ਸਟੇਟਮੈਂਟ ਕੋਡ ਬਲਾਕ ਵਿੱਚ ਹੋ ਸਕਣ ਵਾਲੀਆਂ ਕੁਝ ਜਾਂ ਸਾਰੀਆਂ ਗਲਤੀਆਂ ਦਾ ਸਮਾਧਾਨ ਕਰਦੇ ਹਨ ਅਤੇ ਕੋਡ ਦੀ ਚਲਾਉਣ ਜਾਰੀ ਰੱਖਦੇ ਹਨ。

ਗਲਤੀ ਪ੍ਰੋਗਰਾਮਰ ਵੱਲੋਂ ਕੀਤੀ ਗਈ ਕੋਡਿੰਗ ਦੀ ਗਲਤੀ, ਗਲਤ ਇਨਪੁਟ ਕਰਨ ਕਰਕੇ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਗਲਤੀਆਂ ਅਤੇ ਅਣਮਨਜਰ ਹੋਣ ਵਾਲੀਆਂ ਹਾਲਤਾਂ ਦੀ ਹੋ ਸਕਦੀ ਹੈ。

ਟਰਾਈ ਸਟੇਟਮੈਂਟ ਤੁਹਾਨੂੰ ਅਜਿਹੇ ਕੋਡ ਬਲਾਕ ਦੇਣ ਦੀ ਇਜਾਜਤ ਦਿੰਦਾ ਹੈ ਜਿਸ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਬਾਅਦ ਗਲਤੀ ਟੈਸਟ ਕੀਤਾ ਜਾਵੇ。

ਜੇਕਰ try ਬਲਾਕ ਵਿੱਚ ਗਲਤੀ ਆਈ ਹੈ ਤਾਂ catch ਵਾਕਿਆ ਨੂੰ ਤੁਸੀਂ ਚਲਾਉਣ ਵਾਲਾ ਕੋਡ ਬਲਾਕ ਨਿਰਧਾਰਿਤ ਕਰ ਸਕਦੇ ਹੋ।

finally ਵਾਕਿਆ ਨੂੰ ਤੁਸੀਂ try ਅਤੇ catch ਦੇ ਬਾਅਦ ਕੋਡ ਚਲਾਉਣ ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ, ਚਾਹੇ ਉਹ ਕਿਉਂਕਿ ਗਲਤੀ ਆਈ ਹੋਵੇ ਜਾਂ ਨਹੀਂ ਆਈ।

ਟਿੱਪਣੀ:catch ਅਤੇ finally ਵਾਕਿਆਂ ਚੋਣੀਬੱਧ ਹਨ, ਪਰ try ਵਾਕਿਆ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਇਕ ਤੋਂ ਦੂਜੇ ਨਾਲ ਕੋਈ ਵੀ ਵਰਤਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ (ਨਾ ਹੀ ਦੋਵੇਂ ਇੱਕ ਸਾਥ ਵਰਤਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ)。

ਸੁਝਾਅ:ਗਲਤੀ ਆਉਣ ਤੇ JavaScript ਆਮ ਤੌਰ 'ਤੇ ਰੁਕਦਾ ਹੈ ਅਤੇ ਗਲਤੀ ਸੁਨੇਹਾ ਬਣਾਉਂਦਾ ਹੈ।ਪਰ ਤੁਸੀਂ throw ਵਜੋਂ ਕਸਟਮ ਗਲਤੀਆਂ ਬਣਾ ਸਕਦੇ ਹੋ (ਕਿਉਂਕਿ ਕਿਸੇ ਅਨਿਯੰਤਰਤਾ ਦਾ ਪ੍ਰਤੀਕਰਮ ਦੇਣਾ ਹੈ)।ਜੇਕਰ throw ਨੂੰ try ਅਤੇ catch ਨਾਲ ਵਰਤਿਆ ਜਾਵੇ ਤਾਂ ਤੁਸੀਂ ਪ੍ਰੋਗਰਾਮ ਸਰਕਟ ਨੂੰ ਕੰਟਰੋਲ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਕਸਟਮ ਗਲਤੀ ਸੁਨੇਹਾ ਬਣਾ ਸਕਦੇ ਹੋ।

JavaScript ਗਲਤੀਆਂ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ JavaScript ਗਲਤੀ ਸਿੱਖਿਆ ਦੇਖੋ。

ਇੱਕ ਉਦਾਹਰਣ

ਇਸ ਉਦਾਹਰਣ ਵਿੱਚ ਅਸੀਂ ਕੋਡ ਵਿੱਚ (try ਬਲਾਕ ਵਿੱਚ) ਗਲਤ ਲਿਖਿਆ ਹੈ。

ਇਹ ਸੁਨੇਹਾ "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 - ਕੋਈ ਵੀ try / catch ਨਤੀਜੇ ਕਿਉਂਕਿ ਚਲਾਉਣ ਵਾਲਾ ਕੋਡ ਬਲਾਕ
}

ਪੈਰਾਮੀਟਰ ਕੀਮਤ

ਪੈਰਾਮੀਟਰ ਵੇਰਵਾ
tryCode ਲਾਜ਼ਮੀ।ਚਲਾਉਣ ਵਾਲੇ ਹੋਣ ਤੇ ਗਲਤੀ ਦੀ ਚੇਕ ਕਰਨ ਵਾਲਾ ਕੋਡ ਬਲਾਕ。
err ਲਾਜ਼ਮੀ।ਜੇਕਰ catch ਨਾਲ ਵਰਤਿਆ ਹੈ ਤਾਂ ਸੁਝਾਵਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।ਗਲਤੀ ਦੇ ਨਾਲ ਜੁੜੀ ਸਥਾਨਕ ਵੇਰਵਾ ਨੂੰ ਸੁਝਾਵਿਤ ਕਰੋ।ਇਹ ਵੇਰਵਾ Error ਆਬਜੈਕਟ ਨੂੰ ਹਵਾਲਾ ਦੇ ਸਕਦਾ ਹੈ (ਜਿਸ ਵਿੱਚ ਗਲਤੀ ਬਾਰੇ ਜਾਣਕਾਰੀ ਹੁੰਦੀ ਹੈ, ਉਦਾਹਰਣ ਵਜੋਂ ਸੁਨੇਹਾ "'addlert' is not defined")।ਜੇਕਰ ਗਲਤੀ throw ਵਜੋਂ ਬਣਾਈ ਗਈ ਹੈ ਤਾਂ ਇਹ ਵੇਰਵਾ throw ਵਜੋਂ ਸੁਝਾਵਿਤ ਕੀਤੇ ਗਏ ਆਬਜੈਕਟ ਨੂੰ ਹਵਾਲਾ ਦੇਂਦਾ ਹੈ (ਦੇਖੋ 'ਅਧਿਕ ਉਦਾਹਰਣ' )。
catchCode ਚੋਣੀਬੱਧ।ਜੇਕਰ try ਬਲਾਕ ਵਿੱਚ ਗਲਤੀ ਆਈ ਹੈ ਤਾਂ ਚਲਾਉਣ ਵਾਲਾ ਕੋਡ ਬਲਾਕ।ਅਗਰ ਗਲਤੀ ਨਹੀਂ ਆਈ ਤਾਂ ਇਹ ਕੋਡ ਬਲਾਕ ਕਦੇ ਚਲਾਉਣ ਵਾਲਾ ਨਹੀਂ ਹੈ。
finallyCode ਚੋਣੀਬੱਧ।ਕੋਈ ਵੀ try / catch ਨਤੀਜਾ ਕਿਉਂਕਿ ਚਲਾਉਣ ਵਾਲਾ ਕੋਡ ਬਲਾਕ。

ਤਕਨੀਕੀ ਵੇਰਵਾ

JavaScript ਸੰਸਕਰਣ: 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 语句让你在 try 和 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 = "";
  }
}

ਆਪਣੇ ਹੀ ਪ੍ਰਯੋਗ ਕਰੋ

ਬਰਾਊਜ਼ਰ ਸਮਰਥਨ

ਬਿਆਨ ਕਰੋਮ آئی ای فائرفاکس سافری اپرا
try/catch/finally سپورٹ سپورٹ سپورٹ سپورٹ سپورٹ

مقابلہ پیج

JavaScript تعلیم:JavaScript خطا

JavaScript 参考 دستورJavaScript throw عبارت