జావాస్క్రిప్ట్ ఎరర్ - థ్రో మరియు ట్రై టు క్యాచ్

try స్టేట్మెంట్ మీరు కోడ్ బ్లాక్ లో దోషములను పరీక్షించుటకు అనుమతిస్తుంది.

catch స్టేట్మెంట్ మీరు దోషములను నిర్వహించుటకు అనుమతిస్తుంది.

throw సంకేతం స్వంతంగా దోషాలను సృష్టించడానికి అనుమతిస్తుంది.

finally మీరు కోడ్ నిర్వహించుటకు అనుమతిస్తుంది, try మరియు catch తర్వాత, ఏమైనా ఫలితం కావచ్చు.

దోషములు ఎల్లప్పుడూ జరిగుచున్నవి!

జావాస్క్రిప్ట్ కోడ్ నిర్వహించబడినప్పుడు, వివిధ దోషములు జరిగినవి.

దోషములు ప్రోగ్రామర్స్ కోడ్ చేయబడిన దోషములు, దోషపూరితమైన ప్రవేశముల కారణంగా జరిగిన దోషములు లేదా ఇతర అందించని సమస్యల కారణంగా జరిగిన దోషములు ఉంటాయి.

ఉదాహరణ

ఈ ఉదాహరణలో, మేము ద్వారా adddlert దోషమును ప్రత్యక్షంగా సృష్టించుటకు అప్రకారం అప్రకారం ప్రత్యాహారం రాయుచున్నది:

<p id="demo"></p>
<script>
try {
    adddlert("స్వాగతం! ");
}
catch(err) {
    document.getElementById("demo").innerHTML = err.message;
}
</script>

మీరే ప్రయత్నించండి

జావాస్క్రిప్ట్ adddlert దోషమును కాప్చుచున్నది, అప్పటికే దోషముని నిర్వహించుటకు కోడ్ నిర్వహించుచున్నది.

జావాస్క్రిప్ట్ ట్రై మరియు కాచ్

try స్టేట్మెంట్ మీరు నిర్వహించుటకు కోడ్ బ్లాక్ నిర్వహించుటకు అనుమతిస్తుంది, అయితే అది నిర్వహించబడినప్పుడు దోషములను గుర్తించుటకు.

catch స్టేట్మెంట్ మీరు చేయవలసిన కోడ్ బ్లాక్ నిర్వహించుటకు అనుమతిస్తుంది, అయితే try కోడ్ బ్లాక్ లో దోషము జరిగినప్పుడు.

జావాస్క్రిప్ట్ స్టేట్మెంట్ try మరియు catch పరస్పరం కలిసి ఉండుచున్నది:

try {
     పరీక్షకు కోడ్ బ్లాక్
}
 catch(err) {
     దోషము నిర్వహించుటకు కోడ్ బ్లాక్
} 

జావాస్క్రిప్ట్ దోషము చేయుచున్నది

దోషం ఏర్పడినప్పుడు, జావాస్క్రిప్ట్ సాధారణంగా ఆగి దోష సందేశాన్ని ప్రదర్శిస్తుంది.

పదనియమం ఈ విధంగా వివరించబడింది:జావాస్క్రిప్ట్ అనికార్యతను ప్రసరించగలదు (దోషాలను ప్రసరించగలదు).

జావాస్క్రిప్ట్ వాస్తవానికి రెండు అంశాలతో కూడిన అనికార్యతను సృష్టిస్తుంది: Error Object:name మరియు message.

throw సంకేతం

throw సంకేతం స్వంతంగా దోషాలను సృష్టించడానికి అనుమతిస్తుంది.

సాంకేతికపరంగా మీరు ఈ విధంగా చేయవచ్చు:అనికార్యతలను ప్రసరించండి (దోషాలను ప్రసరించండి).

అనికార్యతలు జావాస్క్రిప్ట్ స్ట్రింగ్, సంఖ్య, బుల్ లేదా ఆబ్జెక్ట్ లగా ఉంటాయి:

throw "ఎక్కువగా ఉంది";    // పదబంధాన్ని ప్రసరించండి
throw 500;          // సంఖ్యను ప్రసరించండి

ఈ విధంగా చేయాలి: throw మరియు try మరియు catch కలిసి ఉపయోగించినప్పుడు, ప్రోగ్రామ్ ప్రవాహాన్ని నియంత్రించడానికి మరియు స్వంతంగా దోష సందేశాలను తయారు చేయడానికి వినియోగించబడతాయి.

ప్రవేశ పరిశీలన ఉదాహరణ

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

ఈ అనికార్యత (err) కాచ్ సంకేతం ద్వారా పట్టుబడి ఒక పద్ధతికరమైన దోష సందేశాన్ని ప్రదర్శిస్తుంది:

<!DOCTYPE html>
<html>
<body>
<p>దయచేసి 5 - 10 మధ్య సంఖ్యను ప్రవేశపెట్టండి:</p>
<input id="demo" type="text">
<button type="button" onclick="myFunction()">ప్రవేశం పరీక్షించు</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 "ఖాళీగా ఉంది";
         if(isNaN(x)) throw "సంఖ్య కాదు";
         x = Number(x);
        if(x < 5) throw  "తక్కువగా ఉంది";
        if(x > 10) throw "ఎక్కువగా ఉంది";
    }
    catch(err) {
        message.innerHTML = "ప్రవేశం ఉంది " + err;
    }
}
</script>
</body>
</html> 

మీరే ప్రయత్నించండి

HTML పరిశీలన

పై కోడ్ కేవలం ఒక ఉదాహరణ మాత్రమే.

ఆధునిక బ్రౌజర్లు సాధారణంగా JavaScript ను స్వంతంగా వినియోగించి వాటిలో ప్రారంభించబడిన HTML నిర్ధారిత పరిశీలన నియంత్రించడానికి కలిసి ఉపయోగిస్తారు:

<input id="demo" type="number" min="5" max="10" step="1">

మీరు ఈ పాఠ్యక్రమంలో తర్వాతి భాగాలలో పాఠ్యం కలిగి మరింత కనుగొనబడుతుంది.

finally సంకేతం

finally ట్రై మరియు కాచ్ తర్వాత ఏది జరిగినా కోడ్ నిర్వహించే సంకేతం:

try {
     // పరీక్షలకు ఉద్దేశించిన కోడ్ బ్లాక్
}
 catch(err) {
     // దోషాలను ప్రాసెస్ చేసే కోడ్ బ్లాక్
} 
finally {
     // సమస్య ఏది అయినా అనువర్తించే కోడ్ బ్లాక్
}

ఉదాహరణ

function myFunction() {
    var message, x;
    message = document.getElementById("message");
    message.innerHTML = "";
    x = document.getElementById("demo").value;
    try { 
        if(x == "") throw "ఖాళీగా ఉంది";
        if(isNaN(x)) throw "సంఖ్య కాదు";
         x = Number(x);
        if(x >  10) throw "పెద్దది";
        if(x <  5) throw "చిన్నది";
    }
    catch(err) {
        message.innerHTML = "తప్పు: " + err + ".";
    }
    finally {
        document.getElementById("demo").value = "";
    }
}

మీరే ప్రయత్నించండి

Error Object

జావాస్క్రిప్ట్ తప్పు జరిగినప్పుడు తప్పు సందేశాన్ని అందించే బుట్టన్లు సంతరించబడిన error వస్తువు ఉంది.

error వస్తువు రెండు ఉపయోగపడిన అనున్నదులను అందిస్తుంది:name మరియు message.

Error Object Properties

అనునది అనేది తప్పు వస్తువు యొక్క అనున్నది అనునది వాటిని తిరిగి ఇస్తుంది: వివరణ
name తప్పు పేరును సెట్ లేదా తిరిగి ఇస్తుంది
message తప్పు సందేశాన్ని (ఒక స్ట్రింగ్) సెట్ లేదా తిరిగి ఇస్తుంది

Error Name Values

error యొక్క name అనునది ఆరు విధమైన విలువలను తిరిగి ఇస్తుంది:

తప్పు పేరు వివరణ
EvalError eval() ఫంక్షన్ లో జరిగిన తప్పు
RangeError సంఖ్య పరిధి దాటిన తప్పు జరిగింది
ReferenceError అనియంత్రిత ఉపయోగం జరిగింది
SyntaxError సింతకం తప్పు జరిగింది
TypeError రకం తప్పు జరిగింది
URIError encodeURI() లో జరిగిన తప్పు

ఈ ఆరు విధమైన విలువలను మీరు మద్దతు కలిగి ఉంటారు.

Eval తప్పు

EvalError eval() ఫంక్షన్ లో తప్పులను సూచిస్తుంది.

నవీకరించబడిన వెర్షన్ల జావాస్క్రిప్ట్ ఏ తప్పును త్వరగా ప్రస్తుతించదు EvalErrorదయచేసి ఈ విధంగా ఉపయోగించండి: SyntaxError పునఃస్థాపించండి.

పరిధి తప్పు

RangeError మీరు క్రమబద్ధమైన విలువల పరిధిలో లేని సంఖ్యను ఉపయోగించినప్పుడు అది

ఉదాహరణకు: మీరు సంఖ్య యొక్క ప్రమాణంను 500 గా నిర్ణయించలేరు.

ఉదాహరణ

var num = 1;
try {
    num.toPrecision(500);   // సంఖ్య అనేది 500 సంఖ్యలను కలిగి ఉంచలేదు
 }
catch(err) {
    document.getElementById("demo").innerHTML = err.name;
} 

మీరే ప్రయత్నించండి

ఉపయోగం తప్పు

మీరు ప్రకటించబడని వేరియబుల్ ను ఉపయోగించినప్పుడు అది ReferenceError త్వరగా ఉంచబడుతుంది:

ఉదాహరణ

var x;
try {
    x = y + 1;   // y అనేది ఉపయోగించబడలేదు (ఉపయోగించడానికి ఉపయోగించబడలేదు)
 }
catch(err) {
    document.getElementById("demo").innerHTML = err.name;
} 

మీరే ప్రయత్నించండి

సింతకం తప్పు

మీరు సింతకం తప్పులు కలిగిన కోడ్ గణిస్తే అది SyntaxError ప్రారంభించబడింది:

ఉదాహరణ

try {
    eval("alert('Hello')");   // ' లేకపోతే తప్పు జరుగుతుంది
}
catch(err) {
     document.getElementById("demo").innerHTML = err.name;
} 

మీరే ప్రయత్నించండి

రకం తప్పు

మీరు ఉపయోగించే విలువ ఆశించిన విలువల పరిధిలో లేకపోతే అది TypeError ప్రారంభించబడింది:

ఉదాహరణ

var num = 1;
try {
    num.toUpperCase();   // 您无法将数字转换为大写
 }
catch(err) {
    document.getElementById("demo").innerHTML = err.name;
} 

మీరే ప్రయత్నించండి

URI 错误

假如您在 URI 函数中使用非法字符,则 URIError ప్రారంభించబడింది:

ఉదాహరణ

try {
    decodeURI("%%%");   // ఈ పెంటాగోన్స్ ను URI కోడింగ్ చేయలేరు
 }
catch(err) {
    document.getElementById("demo").innerHTML = err.name;
} 

మీరే ప్రయత్నించండి

అస్టాండర్డ్ కాకుండా నిర్వచించబడిన Error ఆబ్జెక్ట్ ప్రత్యేకతలు

మొజిల్ మరియు మైక్రోసాఫ్ట్ అస్టాండర్డ్ కాకుండా నిర్వచించబడిన error ఆబ్జెక్ట్ ప్రత్యేకతలను నిర్వచించారు:

  • ఫైల్ నేమ్ (మొజిల్)
  • లైన్ నంబర్ (మొజిల్)
  • కలమ్ నంబర్ (మొజిల్)
  • స్టాక్ (మొజిల్)
  • డిస్క్రిప్షన్ (మైక్రోసాఫ్ట్)
  • నంబర్ (మైక్రోసాఫ్ట్)

బహిరంగ సైట్లో ఈ అంశాలను ఉపయోగించకుండా ఉండండి. అన్ని బ్రౌజర్లో పని చేయలేదు.