इस ट्यूटोरियल में, हम जावा में अपवादों के बारे में जानेंगे। हम जावा में त्रुटियों, अपवादों और विभिन्न प्रकार के अपवादों को कवर करेंगे।
एक अपवाद एक अप्रत्याशित घटना है जो कार्यक्रम के निष्पादन के दौरान होती है। यह कार्यक्रम के निर्देशों के प्रवाह को प्रभावित करता है जो कार्यक्रम को असामान्य रूप से समाप्त करने का कारण बन सकता है।
एक अपवाद कई कारणों से हो सकता है। उनमें से कुछ हैं:
- अमान्य उपयोगकर्ता इनपुट
- डिवाइस की विफलता
- नेटवर्क कनेक्शन का नुकसान
- भौतिक सीमाएँ (डिस्क मेमोरी से बाहर)
- कोड त्रुटियों
- अनुपलब्ध फ़ाइल खोलना
जावा अपवाद पदानुक्रम
यहाँ जावा में अपवाद पदानुक्रम का एक सरल आरेख है।
जैसा कि आप ऊपर की छवि से देख सकते हैं, Throwable
वर्ग पदानुक्रम में मूल वर्ग है।
ध्यान दें कि पदानुक्रम दो शाखाओं में विभाजित होता है: त्रुटि और अपवाद।
त्रुटियां
त्रुटियां अपरिवर्तनीय स्थितियों का प्रतिनिधित्व करती हैं जैसे कि जावा वर्चुअल मशीन (जेवीएम) मेमोरी से बाहर चल रही है, मेमोरी लीक, स्टैक ओवरफ्लो त्रुटियों, लाइब्रेरी असंगति, अनंत पुनरावृत्ति, आदि।
त्रुटियाँ आमतौर पर प्रोग्रामर के नियंत्रण से परे होती हैं और हमें त्रुटियों को संभालने की कोशिश नहीं करनी चाहिए।
अपवाद
अपवादों को प्रोग्राम द्वारा पकड़ा और संभाला जा सकता है।
जब कोई अपवाद विधि के भीतर होता है, तो यह एक ऑब्जेक्ट बनाता है। इस वस्तु को अपवाद वस्तु कहा जाता है।
इसमें अपवाद के बारे में जानकारी होती है जैसे कि अपवाद होने पर कार्यक्रम के अपवाद और स्थिति का नाम और विवरण।
हम अगले ट्यूटोरियल में इन अपवादों को संभालना सीखेंगे। इस ट्यूटोरियल में, अब हम जावा में विभिन्न प्रकार के अपवादों पर ध्यान केंद्रित करेंगे।
जावा अपवाद प्रकार
अपवाद पदानुक्रम की भी दो शाखाएँ हैं: RuntimeException
और IOException
।
1. रनटाइम एक्ससेप्शन
एक क्रम अपवाद एक प्रोग्रामिंग त्रुटि के कारण होता है। उन्हें अनियंत्रित अपवाद के रूप में भी जाना जाता है ।
ये अपवाद संकलन-समय पर नहीं बल्कि रन-टाइम पर जांचे जाते हैं। कुछ सामान्य रनटाइम अपवाद हैं:
- एपीआई का अनुचित उपयोग -
IllegalArgumentException
- नल पॉइंटर एक्सेस (किसी वैरिएबल के आरंभीकरण को याद रखना) -
NullPointerException
- आउट-ऑफ-बाउंड्स सरणी पहुंच -
ArrayIndexOutOfBoundsException
- एक संख्या को 0 से विभाजित करना -
ArithmeticException
आप इसके बारे में इस तरह से सोच सकते हैं। "अगर यह एक रनटाइम अपवाद है, तो यह आपकी गलती है"।
NullPointerException
यदि आप इसे उपयोग करने से पहले जाँच की थी कि क्या चर प्रारंभ किया गया था या नहीं हुआ है नहीं होगा।
एक ArrayIndexOutOfBoundsException
अगर आप सरणी सीमा के खिलाफ सरणी सूचकांक का परीक्षण किया हुआ नहीं होता।
2. IOException
एक जाँच किए गए अपवाद केIOException
रूप में भी जाना जाता है । उन्हें कंपाइलर द्वारा कंपाइल-टाइम पर चेक किया जाता है और प्रोग्रामर को इन अपवादों को संभालने के लिए प्रेरित किया जाता है।
जाँच किए गए अपवादों के कुछ उदाहरण हैं:
- ऐसी फ़ाइल खोलने की कोशिश करना जिसमें परिणाम मौजूद नहीं है
FileNotFoundException
- एक फ़ाइल के अंत में पिछले पढ़ने की कोशिश कर रहा है
अब हम अपवादों के बारे में जानते हैं, हम अगले ट्यूटोरियल में अपवादों को संभालने के बारे में जानेंगे।