జావాస్క్రిప్ట్ ఎరర్ - థ్రో మరియు ట్రై టు క్యాచ్
- పూర్వ పేజీ JS ఆపరేటర్ ప్రాధాన్యతలు
- తదుపరి పేజీ JS ప్రభావం
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 ఆబ్జెక్ట్ ప్రత్యేకతలను నిర్వచించారు:
- ఫైల్ నేమ్ (మొజిల్)
- లైన్ నంబర్ (మొజిల్)
- కలమ్ నంబర్ (మొజిల్)
- స్టాక్ (మొజిల్)
- డిస్క్రిప్షన్ (మైక్రోసాఫ్ట్)
- నంబర్ (మైక్రోసాఫ్ట్)
బహిరంగ సైట్లో ఈ అంశాలను ఉపయోగించకుండా ఉండండి. అన్ని బ్రౌజర్లో పని చేయలేదు.
- పూర్వ పేజీ JS ఆపరేటర్ ప్రాధాన్యతలు
- తదుపరి పేజీ JS ప్రభావం