⊗jsSpExcInr 137 of 294 menu

जावास्क्रिप्ट में अपवादों का परिचय

अब हम जावास्क्रिप्ट में अपवादों पर विचार करेंगे। शुरुआत में मैं एक परिचय दूंगा, जिसमें किसी भी प्रोग्रामिंग भाषा के लिए अपवादों के उदाहरण होंगे, और फिर हम देखेंगे कि जावास्क्रिप्ट में चीजें कैसी हैं।

जब हम अपने प्रोग्राम लिखते हैं, तो हम अनजाने में यह मानकर चलते हैं कि हमारे द्वारा उपयोग किए जाने वाले सभी प्रोग्रामेटिक-तकनीकी तंत्र सही ढंग से काम करेंगे।

हालांकि, यह हमेशा ऐसा नहीं होता है। नेटवर्क पर डेटा ट्रांसमिट करते समय कनेक्शन टूट जाता है और डेटा हमारे पास गलत रूप में आता है, या बिल्कुल नहीं आता है। फाइल लिखते समय पता चलता है कि हार्ड डिस्क पर आवंटित जगह खत्म हो गई है, और फाइल सेव नहीं हो पाती है। फाइल पढ़ते समय पता चलता है कि ऐसी कोई फाइल मौजूद नहीं है और हमारे पास पढ़ने के लिए कुछ नहीं है। प्रिंटर पर डेटा प्रिंट करते समय प्रिंटर और कंप्यूटर को जोड़ने वाली केबल टूट जाती है।

वर्णित सभी स्थितियों का एक सामान्य सार है: एक विफलता होती है, जो नियोजित ऑपरेशन को पूरा करने की असंभवता या निरर्थकता की ओर ले जाती है।

ऐसी स्थितियां भी होती हैं, जिनमें कोई त्रुटि होती है, जो विफलता नहीं है। उदाहरण के लिए, आप उपयोगकर्ता से उसका ईमेल पूछते हैं, और वह गलत फॉर्मेट में ईमेल दर्ज करता है। स्पष्ट है कि हमारा प्रोग्राम ईमेल को प्रोसेस करना जारी नहीं रख सकता है, क्योंकि यह सही नहीं है। लेकिन, फिर भी यह - कोई अपवादीय स्थिति नहीं है। हमारा प्रोग्राम स्थिति को स्वयं ठीक कर सकता है: यह त्रुटि संदेश प्रदर्शित करेगा और उपयोगकर्ता अपना इनपुट दोबारा दोहराएगा।

वास्तव में विफलता और गैर-विफलता के बीच का अंतर काफी अस्पष्ट है। एक घटना, जिसे एक प्रोग्राम अपवादीय स्थिति के रूप में व्याख्या कर सकता है, दूसरा प्रोग्राम इसे किसी त्रुटि के रूप में व्याख्या कर सकता है, जिससे वह निपट सकता है।

यहाँ मानदंड निम्नलिखित है: यदि समस्या उत्पन्न होने पर आपका प्रोग्राम उस कार्य को करना जारी रख सकता है, जिसके लिए वह बनाया गया है, तो यह कोई अपवादीय स्थिति नहीं है, और यदि नहीं कर सकता - तो हाँ, यह अपवाद है।

उदाहरण के लिए, हमारे पास एक प्रोग्राम है, जिसे उपयोगकर्ता का ईमेल पूछना चाहिए। यदि उपयोगकर्ता ने ईमेल गलत फॉर्मेट में दर्ज किया है - यह कोई विफलता नहीं है। यह एक अपेक्षित समस्या है और हमारा प्रोग्राम उपयोगकर्ता से ईमेल तब तक पूछता रहेगा, जब तक कि वह इसे सही ढंग से दर्ज नहीं कर देता।

मान लीजिए कि हमारे प्रोग्राम, जो ईमेल पूछता है, को इस सही ईमेल को इंटरनेट के माध्यम से भेजना भी है। इस दौरान पता चलता है कि इंटरनेट काम नहीं कर रहा है। यहाँ एक समस्या है: प्रोग्राम इंटरनेट के माध्यम से डेटा भेजने में कोई भी तरीके से सक्षम नहीं होगा, यदि इंटरनेट काम नहीं कर रहा है। प्रोग्राम, फिर भी, अपना निष्पादन जारी रख सकता है: यह समस्या के बारे में जानकारी प्रदर्शित कर सकता है, कुछ समय बाद भेजने का प्रयास दोहरा सकता है, और इसी तरह आगे भी। लेकिन ये कार्य पूरी तरह से वह नहीं हैं, जिसके लिए प्रोग्राम बनाया गया था, क्योंकि मुख्य क्रिया - ईमेल भेजना प्रोग्राम नहीं कर सकता है।

बहुत बार, यह कि कोई अपवादीय स्थिति है या नहीं, प्रोग्रामिंग भाषा पर निर्भर करता है। कई भाषाओं में, यदि अचानक शून्य से विभाजन हो जाता है - यह एक अपवाद माना जाता है (क्योंकि शून्य से विभाजन नहीं किया जा सकता है), लेकिन जावास्क्रिप्ट में - नहीं माना जाता है (जावास्क्रिप्ट में शून्य से विभाजन किया जा सकता है)।

rusvkabyit