SA-21/06, C-11, Asapur, Varanasi, UP support@kamaldnp.com +91 8318013442
JavaScript
1. JavaScript परिचय 2. JavaScript कहाँ लिखें 3. JavaScript आउटपुट 4. JavaScript सिंटैक्स 5. JavaScript कमेंट्स 6. JavaScript वेरिएबल्स 7. JavaScript ऑपरेटर्स 8. JavaScript डेटा टाइप्स 9. JavaScript फंक्शन्स 10. JavaScript ऑब्जेक्ट्स 11. JavaScript स्कोप 12. JavaScript इवेंट्स 13. JavaScript स्ट्रिंग्स 14. JavaScript नंबर्स 15. JavaScript ऐरे 16. JavaScript ऐरे मेथड्स 17. JavaScript तारीखें 18. JavaScript मैथ 19. JavaScript कंडीशन्स 20. JavaScript स्विच 21. JavaScript For Loop — गिनती वाला लूप 22. JavaScript While Loop — जब तक वाला लूप 23. JavaScript Type Conversion — एक type से दूसरा type 24. JavaScript Errors — try, catch, finally से error पकड़िए 25. JavaScript JSON — डेटा भेजने का तरीका 26. JavaScript Arrow Functions — छोटा रूप, बड़ा फर्क 27. JavaScript Classes — एक बार लिखिए, बार-बार बनाइए 28. JavaScript Promises और async/await — इंतज़ार का तरीका 29. JavaScript और DOM — पेज को पेड़ समझिए 30. JavaScript Form Validation — दरवाज़े पर जाँच
अंतिम टेस्ट — सर्टिफिकेट ₹10
इस कोड को लाइव चलाएँ
पाठ 24, कुल 30 में

JavaScript Errors — try, catch, finally से error पकड़िए

5 मिनट पढ़ें · मुफ़्त · बिना लॉगिन

हर प्रोग्राम में गलतियाँ होती हैं। एक variable की spelling गलत है, एक number किसी चीज़ से भाग नहीं होता, एक server जवाब नहीं देता। JavaScript में ऐसी गलती को error कहते हैं, और आमतौर पर यह पूरी script रोक देता है — error के बाद सब कुछ कभी चलता ही नहीं। इसीलिए एक छोटी typo पूरा पेज खाली कर सकती है। इसका उपाय है error को ऊपर पहुँचने से पहले पकड़ लेना: try, catch और finally।

Diagram — देखें, यह सब कैसे जुड़ता है
Diagram: errors — try, catch, finally

चाय की दुकान के order की तरह सोचिए। आप चाय बनाने की कोशिश करते हैं (जोखिम भरा कदम)। अगर दूध खत्म हो गया, तो आप समस्या पकड़ते हैं और उसकी जगह काली चाय देते हैं (backup plan)। और finally, order काम करे या न करे, आप counter साफ़ करते हैं (सफ़ाई)। एक item के न होने से दुकान बंद नहीं होती — और एक खराब value से आपका पेज नहीं टूटना चाहिए।

try, catch, finally — तीन हिस्से

try {
  // risky code — if it throws, jump to catch
  let total = price * qty;
} catch (error) {
  // backup plan — error.message tells you what went wrong
  console.log("Something went wrong: " + error.message);
} finally {
  // always runs — tidy up here
  console.log("Done.");
}

try block में जोखिम भरा code होता है। अगर उसके अंदर कुछ भी error फेंकता है, तो JavaScript सीधे catch block पर कूद जाता है और try का बाकी हिस्सा छोड़ देता है। catch block error को एक object के रूप में पाता है, और error.message में छोटा-सा विवरण होता है। finally block चाहे कुछ भी हो, हमेशा चलता है — error हो या न हो — इसलिए यह सफ़ाई के लिए सही जगह है, जैसे loading message बंद करना।

Note: try block बिना catch के तभी ठीक है, जब उसमें finally हो। पर try के साथ finally और बिना catch के error नहीं रुकता — वह सिर्फ सफ़ाई चलाता है, फिर error आगे बढ़ता है। Error को सच में सँभालने के लिए catch चाहिए।

throw — अपनी error बनाइए

कभी-कभी code ठीक चलता है, पर value गलत होती है — negative उम्र, खाली नाम, शून्य quantity। JavaScript नहीं जानता कि यह error है, इसलिए आप खुद एक फेंकते हैं:

function checkAge(age) {
  if (age < 0) {
    throw new Error("Age cannot be negative.");
  }
  return "Age is fine.";
}

throw new Error("...") function को उसी पल रोक देता है और नज़दीकी catch पर कूद जाता है। यह एक चुपचाप गलत value को ज़ोरदार, दिखने वाली समस्या में बदल देता है — उसे ढूँढना और ठीक करना, चुपचाप गलत निकलने वाले बिल से कहीं आसान है।

आम errors — उन्हें पढ़ना सीखिए

  • ReferenceError: x is not defined — आपने ऐसा variable इस्तेमाल किया जो है ही नहीं, आमतौर पर spelling की गलती। नाम को अक्षर-अक्षर जाँचिए।
  • TypeError: Cannot read properties of null — आपने ऐसी चीज़ इस्तेमाल करने की कोशिश की जो null है, अक्सर इसलिए क्योंकि getElementById element नहीं ढूँढ पाया। HTML में id जाँचिए।
  • SyntaxError: Unexpected token — code खुद गलत लिखा गया है, जैसे कोई bracket छूट गया हो। Browser लाइन बताता है — वहीं से शुरू कीजिए।
  • RangeError: Maximum call stack size exceeded — एक function खुद को हमेशा बुलाता रहता है। जाँचिए कि आपके recursion या loop से बाहर निकलने का रास्ता है।

Error message की पहली लाइन पढ़िए, पूरा stack नहीं। पहली लाइन आमतौर पर type और जगह बता देती है — ज़्यादातर मामलों में bug ढूँढने के लिए उतना ही काफी है।

Tip: ऐसे याद रखिए: जोखिम भरा कदम आज़माइए, गिरावट पकड़िए, आखिर में सफ़ाई कीजिए। सिर्फ जोखिम भरे हिस्से को try में लपेटिए — पूरे प्रोग्राम को लपेटने से असली गलती छिप जाती है और debugging मुश्किल हो जाता है।

आम गलतियाँ

  • सब कुछ एक बड़े try में लपेटना — आप भूल जाते हैं कि error असल में कहाँ से आया था। try block छोटा रखिए।
  • खाली catch block — error चुपचाप निगल लिया जाता है और bug अदृश्य हो जाता है। कम से कम error.message log कीजिए।
  • यह भूल जाना कि try सिर्फ वही errors पकड़ता है जो उसके अंदर होते हैं — timer या promise में हुई error को अपनी handling चाहिए।
  • throw "some string" इस्तेमाल करना, throw new Error("...") की जगह — string में stack trace नहीं होता, इसलिए आप नहीं ढूँढ सकते कि वह कहाँ से आई।

याद रखें

  • try में जोखिम भरा code होता है, catch में backup plan होता है, finally हमेशा चलता है।
  • throw new Error("...") तब अपनी error बनाता है, जब value गलत हो।
  • Error की पहली लाइन पढ़िए — वह आमतौर पर type और जगह बता देती है।
  • जोखिम भरा कदम आज़माइए, गिरावट पकड़िए, आखिर में सफ़ाई कीजिए।

उदाहरण समझिए

  • let age = Number(document.getElementById("age").value); — उम्र वाला box पढ़ता है और string को number में बदलता है।
  • if (isNaN(age)) { throw new Error("Please type a number."); } — अगर input number नहीं है, तो हम टूटी value के साथ आगे बढ़ने की जगह अपनी error फेंकते हैं।
  • if (age < 0) { throw new Error("Age cannot be negative."); } — दूसरी जाँच: negative उम्र नामुमकिन है, इसलिए यह भी error है।
  • catch (error) { ... error.message ... } — जो भी error फेंकी गई, उसका message पेज पर लाल रंग में दिखाया जाता है। पेज कभी टूटता नहीं।
  • finally { document.getElementById("age").value = ""; } — input box चाहे जाँच पास हो या fail, खाली कर दिया जाता है, ताकि अगली कोशिश साफ़ शुरू हो।

उदाहरण

Example
<!DOCTYPE html>
<html>
<head>
<title>Age Check — try and catch</title>
<style>
body { font-family: Verdana, sans-serif; background-color: #fff8e1; }
h1 { color: #b45309; text-align: center; }
.card { background-color: white; border: 2px solid #f59e0b; padding: 16px; width: 340px; margin: 20px auto; }
button { background-color: #b45309; color: white; border: none; padding: 10px 18px; font-size: 16px; }
#out { font-weight: bold; }
</style>
</head>
<body>

<h1>Age Check</h1>
<div class="card">
<p>Your age: <input id="age" type="text" value="25"></p>
<p><button onclick="checkAge()">Check my age</button></p>
<p id="out">Type your age and click the button.</p>
<p>Try it: type -5, or type "abc" — the page shows the error instead of breaking.</p>
</div>

<script>
function checkAge() {
  let out = document.getElementById("out");
  try {
    let age = Number(document.getElementById("age").value);
    if (isNaN(age)) { throw new Error("Please type a number."); }
    if (age < 0) { throw new Error("Age cannot be negative."); }
    out.style.color = "green";
    out.textContent = "Your age is " + age + ". All good!";
  } catch (error) {
    out.style.color = "red";
    out.textContent = "Error: " + error.message;
  } finally {
    document.getElementById("age").value = "";
  }
}
</script>

</body>
</html>

परिणाम

परिणाम — ब्राउज़र में यह कैसा दिखता है
परिणाम: JavaScript Errors — try, catch, finally से error पकड़िए

खुद करके देखें — लाइव एडिटर

नीचे दिया गया कोड बदलें और चलाएँ दबाएँ — परिणाम तुरंत दिखेगा। कोई फाइल सहेजनी नहीं है, कोई लॉगिन नहीं चाहिए।

परिणाम

खुद क्यों सीखें — AI से पूछने के बजाय?

AI आपके लिए कोड लिख सकता है, लेकिन वह आपके लिए सोच नहीं सकता। जब आप HTML खुद सीखते हैं, तो आपका दिमाग असली कौशल बनाता है: आप समझते हैं कि पेज ऐसा क्यों दिखता है, टूटने पर उसे ठीक कर सकते हैं, और परीक्षा या इंटरव्यू में बिना मदद के जवाब दे सकते हैं। यही कौशल नौकरी दिलाता है — कॉपी किया हुआ जवाब नहीं।

सर्टिफिकेट पाएँ — सिर्फ ₹10

सभी 30 पाठ पूरे करें, टेस्ट पास करें (80%), ₹10 दें और अपना सर्टिफिकेट पाएँ।

टेस्ट दें

देखकर सीखना पसंद है? वीडियो कोर्स में वही विषय एक-एक करके सिखाए जाते हैं।

Go further with a full course

Free tutorials teach you the basics. Our paid courses add live projects, mentorship and a certificate.

Master Python + AI Skills in 30 Days
₹499
View
AI Power Skills in 2 Days | Learn AI Text, Image, Video and Voice Tools
View
CapCut Mobile Video Editing Course Beginner to Advance
₹99
View
Browse all courses
JavaScript — Lessons
1. JavaScript परिचय 2. JavaScript कहाँ लिखें 3. JavaScript आउटपुट 4. JavaScript सिंटैक्स 5. JavaScript कमेंट्स 6. JavaScript वेरिएबल्स 7. JavaScript ऑपरेटर्स 8. JavaScript डेटा टाइप्स 9. JavaScript फंक्शन्स 10. JavaScript ऑब्जेक्ट्स 11. JavaScript स्कोप 12. JavaScript इवेंट्स 13. JavaScript स्ट्रिंग्स 14. JavaScript नंबर्स 15. JavaScript ऐरे 16. JavaScript ऐरे मेथड्स 17. JavaScript तारीखें 18. JavaScript मैथ 19. JavaScript कंडीशन्स 20. JavaScript स्विच 21. JavaScript For Loop — गिनती वाला लूप 22. JavaScript While Loop — जब तक वाला लूप 23. JavaScript Type Conversion — एक type से दूसरा type 24. JavaScript Errors — try, catch, finally से error पकड़िए 25. JavaScript JSON — डेटा भेजने का तरीका 26. JavaScript Arrow Functions — छोटा रूप, बड़ा फर्क 27. JavaScript Classes — एक बार लिखिए, बार-बार बनाइए 28. JavaScript Promises और async/await — इंतज़ार का तरीका 29. JavaScript और DOM — पेज को पेड़ समझिए 30. JavaScript Form Validation — दरवाज़े पर जाँच
अंतिम टेस्ट — सर्टिफिकेट ₹10

🤖 KAMALDNP AI Assistant

Ask about courses, website & more

Hi! I'm KAMALDNP AI Assistant. Ask me about our courses, website features, or anything else! 😊
Please wait 5s...
🛡️ 7-Day Money-Back Guarantee
🤖 KAMALDNP Assistant ✕

Request human callback:

🔐 Login Required
✕

Download karne ke liye login karo. Login ke baad yahi page pe rahoge!

Naya ho? Register karo →