Introduction to JavaScript Errors
किसी भी दूसरी programming language की तरह JavaScript programs भी errors generate कर सकते है। Errors की वजह से program execute नहीं होता है। मुख्यतः errors दो प्रकार की होती है।

  • Syntax Errors - ये वो errors होती है जो user द्वारा wrong syntax लिखे जाने पर generate होती है। इन errors के आने पर JavaScript code run नहीं होता है जब तक की इन्हें ठीक नहीं कर लिया जाता है। 


  • Semantic Errors - ये वे errors होती है जो programmer द्वारा गलत programming logic apply किये जाने पर generate होती है। 


  • Syntax errors आसानी से programmer द्वारा code को सही प्रकार से लिख कर ठीक की जाती है। वँही दूसरी तरफ semantic errors को सही programming logic apply करके ठीक किया जाता है।



    जब भी कोई error आती है तो JavaScript किसी भी प्रकार का कोई message show नहीं करती है। Programmer को स्वयं ही उन errors को ढूँढ कर ठीक करना होता है।



    JavaScript एक error handling mechanism provide करती है जिसके द्वारा programmer सभी प्रकार की errors को handle कर सकता है और उनके लिए proper messages show कर सकता है।



    JavaScript Error Object 

    जब भी किसी JavaScript program में किसी भी प्रकार की कोई error generate होती है तो JavaScript Error object create करती है। यह Error object उस error को represent करता है और उससे सम्बंधित सम्पूर्ण जानकारी store करता है। 

    JavaScript द्वारा create किये जाने वाले प्रत्येक Error object के साथ 2 मत्वपूर्ण properties available होती है। इन properties के द्वारा error से सम्बंधित जानकारी set (Custom errors के case में) और return की जाती है। इन properties के बारे में निचे बताया जा रहा है। 
    1. name - इस property के द्वारा error का नाम set (Custom errors के case में) और return किया जाता है। यह property 6 अलग अलग values return करती है। इन्हें निचे बताया जा रहा है। 
      • EvalError - यह value बताती है की eval() function से सम्बंधित कोई error आयी है। 
      • RangeError - जब कोई number out of range होने की वजह से कोई error आती है तो वह इसी value द्वारा represent की जाती है। 
      • ReferenceError - किसी illegal reference के कारण जो error generate होती है। उसके लिए यह value generate होती है। 
      • SyntaxError - Syntax error आने पर यह value return की जाती है। 
      • TypeError - Data type सम्बंधित error आने पर यह value return की जाती है। 
      • URIError - encodeURI() method द्वारा error generate होने पर यह value return की जाती है। 
      1. message - इस property द्वारा error message set और return किया जाता है। 


      JavaScript Error Handling Mechanism  

      किसी भी प्रकार की error आने पर script वँही terminate हो जाती है और आगे का code execute नहीं होता है। ऐसा होने से एक bad user exeperience create होता है जो किसी भी अच्छी web application के लिए ठीक नहीं माना जाता है। 

      कई बार कितना ही experienced programmer हो लेकिन फिर भी errors generate हो जाती है। Errors को रोका नहीं जा सकता है लेकिन उन्हें handle किया जा सकता है। 



      JavaScript आपको एक mechanism provide करती है जिससे आप errors को handle कर सकते है ताकि error generate होने पर आपकी web application सही तरीके से terminate हो। 

      उदाहरण के लिए इस mechanism को use करते हुए आप error generate होने पर user को एक proper message show कर सकते है या फिर कोई दूसरा code execute करवा सकते है। 

      JavaScript में errors को handle करने के लिए जो mechanism use किया जाता है वह try, catch और finally blocks द्वारा कार्य करता है। इन blocks के बारे में निचे बताया जा रहा है। 


      Try 

      Try block में वह code लिखा जाता है जिससे error generate होने की सम्भावना होती है। इस block का syntax निचे दिया जा रहा है।


      try{

        //Code that may generate an error...

      }


      Catch 

      Catch block में वह code लिखा जाता है जो error आने पर execute होगा और error को handle करेगा। इस block में error object parameter pass होता है जो error की information प्राप्त करने और उसे handle करने में use किया जाता है।



      Catch block का syntax निचे दिया जा रहा है। 


      catch(e)

      {

        // Handle error here...

      }


      Finally 

      Catch block में error को handle करने के बाद यदि आप कोई अन्य code execute करवाना चाहते है तो इसके लिए finally block में उस code को लिखा जाता है। 



      चाहे किसी प्रकार की error generate हुई हो या नहीं लेकिन finally block हमेशा execute होता है। Finally block का syntax निचे दिया जा रहा है। 


      finally

      {

        //Code to execute after handling error...

      }


      Example of JavaScript Error Handling 

      JavaScript में errors को handle करने का उदाहरण निचे दिया जा रहा है। 

      <html>



      <script type="text/javascript">

      try

      {

         myFunction()

      }

      catch(e)

      {

         document.write("Error Name : "+e.name+"<br />");

         document.write("Error Message : "+e.message);

      }

      </script>



      </html>

      ऊपर दिए गए उदाहरण में एक ऐसे function को call किया जा रहा है जिसे create ही नहीं किया गया है। इस situation में JavaScript reference error generate करेगी। यह उदाहरण निचे दिया गया output generate करता है।








      JavaScript Custom Errors

      JavaScript आपको custom errors create करने की भी ability provide करती है। इसके लिए try और catch block के साथ throw statement use किया जाता है।



      Throw statement के साथ error का नाम string के रूप में pass किया जाता है। इसका general syntax निचे दिया जा रहा है।


      throw ("errorName");

      JavaScript में custom errors create करने का उदाहरण निचे दिया जा रहा है।


      <script type="text/javascript">



      var b=0;



      try

      {

          if(b==0)

         {

              throw ("b can not be zero");

          }

      }

      catch(e)

      {

          document.write("Error : "+e);

      }



      </script>

      ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।



      JavaScript-Custom-Error-Example-in-Hindi