Exception क्या है?

Exception क्या है ,कैसे यह कैसे काम करता है ?

एक अपवाद (‘असाधारण घटना’ के लिए छोटा) एक त्रुटि या अप्रत्याशित घटना है जो एक कार्यक्रम के चलने के दौरान होती है। जब कोई अपवाद होता है, तो यह कार्यक्रम के प्रवाह को बाधित करता है। यदि प्रोग्राम अपवाद को संभाल और संसाधित कर सकता है, तो यह चलना जारी रख सकता है। यदि किसी अपवाद को संभाला नहीं जाता है, तो कार्यक्रम को छोड़ने के लिए मजबूर किया जा सकता है। कई प्रोग्रामिंग भाषाएं अपवादों का समर्थन करती हैं, हालांकि उनका उपयोग विभिन्न तरीकों से किया जाता है। उदाहरण के लिए, अपवाद जावा भाषा का एक अभिन्न हिस्सा हैं और अक्सर किसी कार्यक्रम के प्रवाह को नियंत्रित करने के लिए होते हैं। जावा में एक अपवाद वर्ग शामिल है, जिसमें दर्जनों उपवर्ग हैं, जैसे टाइमआउटएक्ससेप्शन, उपयोगकर्ताएक्ससेप्शन और आईओएक्ससेप्शन। IOException जैसे उपवर्गों में FileNotFoundException और CharacterCodingException जैसे अधिक विशिष्ट अपवाद होते हैं जिन्हें ‘फेंका’ जा सकता है यदि कोई फ़ाइल नहीं मिलती है या स्ट्रिंग के चरित्र एन्कोडिंग को मान्यता नहीं दी जाती है।

अन्य भाषाएं केवल मौलिक रनटाइम त्रुटियों को पकड़ने के लिए अपवादों का उपयोग करती हैं, जैसे कि मेमोरी या सिस्टम-स्तर की त्रुटियों का आवंटन विफलता। उदाहरण के लिए, एक सी प्रोग्राम bad_alloc अपवाद फेंक सकता है जब मेमोरी आवंटित नहीं की जा सकती है और जब ऑपरेटिंग सिस्टम एक त्रुटि पैदा करता है तो अपवाद system_error।

अपवाद हैंडलिंग

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

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

 1. int a = 11;
 2. int b = 0;
 3. int result = 0;
 4. try {
 5.   int c = a / b;
 6.   result = c;
 7. } catch(ArithmeticException ex) {
 8.   result = 0;
 9. }
10. return result;

 

एक अपवाद लाइन 5 पर फेंक दिया जाता है (जब 11 0 से विभाजित है), तो कोशिश बयान (लाइन 6) के शेष निष्पादित नहीं किया जाता है । इसके बजाय, अपवाद 7 लाइन पर पकड़ा जाता है और 0 का परिणाम वापस आ जाता है।

इस पृष्ठ पर Exception की परिभाषा एक मूल SharTec.eu परिभाषा है। मैं SharTec का लक्ष्य कंप्यूटर शब्दावली को इस तरह से समझाना है जो समझने में आसान हो। हम प्रकाशित हर परिभाषा के साथ सादगी और सटीकता के लिए प्रयास करते हैं। यदि आपके पास अपवाद परिभाषा के बारे में प्रतिक्रिया है या एक नया तकनीकी शब्द सुझाना चाहते हैं, तो कृपया हमसे संपर्क करें।