जेएसपी अपवाद क्या है?
अपवाद तब होते हैं जब कोड में कोई त्रुटि होती है या तो डेवलपर या सिस्टम से आंतरिक त्रुटि होती है।
जेएसपी में अपवाद हैंडलिंग जावा में समान है जहां हम प्रयास करते हैं कि अपवाद कैच ब्लॉक का उपयोग करके किया जाए।
जावा के विपरीत, JSP में अपवाद भी हैं जब कोड में कोई त्रुटि है।
अपवाद तीन प्रकार के होते हैं:
- अपवाद की जाँच की
- क्रम अपवाद
- त्रुटियाँ
अपवादों की जाँच की
यह आम तौर पर एक उपयोगकर्ता त्रुटि या समस्याएं हैं जो डेवलपर द्वारा नहीं देखी जाती हैं, उन्हें अपवाद के रूप में जांचा जाता है।
कुछ उदाहरण हैं:
- FileNotFoundException: यह एक चेक किया हुआ अपवाद है (जहाँ यह डिस्क पर फ़ाइल नहीं मिलने पर फ़ाइल खोजने की कोशिश करता है)।
- IO अपवाद: यह भी अपवाद है अगर किसी फ़ाइल को पढ़ने या लिखने के दौरान कोई अपवाद हुआ है तो IO अपवाद उठाया जाता है।
- SQLException: यह भी एक चेक किया हुआ अपवाद है जब फ़ाइल SQL डेटाबेस से जुड़ी होती है, और SQL डेटाबेस की कनेक्टिविटी के साथ समस्या होती है तब SQLException खड़ी होती है
रनटाइम अपवाद
रनटाइम अपवाद वह हैं जो प्रोग्रामर द्वारा टाला जा सकता था। संकलन के समय उनकी उपेक्षा की जाती है।
कुछ उदाहरण हैं:
- ArrayIndexOutOfBoundsException: सरणी आकार तत्वों से अधिक होने पर यह एक रनटाइम अपवाद है।
- अंकगणित अपवाद: यह कोई रनटाइम अपवाद भी है जब कोई गणितीय संचालन होता है, जिसे सामान्य परिस्थितियों में अनुमति नहीं दी जाती है, उदाहरण के लिए, किसी संख्या को 0 से विभाजित करना एक अपवाद देगा।
- NullPointer अपवाद: यह भी एक रनटाइम अपवाद है जो तब उठाया जाता है जब एक चर या वस्तु शून्य होती है जब हम उसी तक पहुंचने का प्रयास करते हैं। यह एक बहुत ही सामान्य अपवाद है।
त्रुटियां:
उपयोगकर्ता या प्रोग्रामर के नियंत्रण के कारण समस्या उत्पन्न होती है। यदि ओवरफ्लो होता है, तो त्रुटि हो सकती है।
त्रुटि के कुछ उदाहरण नीचे सूचीबद्ध हैं:
- त्रुटि: यह त्रुटि फेंकने योग्य का एक उपवर्ग है जो गंभीर समस्याओं को इंगित करता है जो एक आवेदन नहीं पकड़ सकता है।
- तात्कालिकता त्रुटि: यह त्रुटि तब होती है जब हम किसी वस्तु को त्वरित करने की कोशिश करते हैं, और यह ऐसा करने में विफल रहता है।
- आंतरिक त्रुटि: यह त्रुटि तब होती है जब JVM यानी जावा वर्चुअल मशीन से कोई त्रुटि होती है।
त्रुटि अपवाद
यह फेंकने योग्य वर्ग का एक उदाहरण है, और इसका उपयोग त्रुटि पृष्ठों में किया जाता है।
फेंकने योग्य वर्ग के कुछ तरीके हैं:
- सार्वजनिक स्ट्रिंग getMessage () - अपवाद का संदेश देता है।
- सार्वजनिक फेंकने योग्यकॉज () - अपवाद का कारण बनता है
- सार्वजनिक PrintStackTrace () - अपवाद का स्टैकट्रेस देता है।
उदाहरण
Exception_example.jsp
<% @ पृष्ठ errorPage = "guru_error.jsp"%><% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> अपवाद गुरु JSP1 शीर्षक> head><शरीर><%int संख्या = 10;यदि (संख्या == 10){{नई RuntimeException फेंक ("त्रुटि स्थिति !!!");}%> शरीर> html>
गुरु_रोर.जस्प
<% @ पृष्ठErrorPage = "सही"%> है<% @ पृष्ठ भाषा = "जावा" सामग्रीpageEncoding = "ISO-8859-1"%><सिर><मेटा http-equiv = "सामग्री-प्रकार" सामग्री = "पाठ / html; चारसेट = ISO-8859-1"><शीर्षक> गुरु अपवाद पृष्ठ शीर्षक> head><शरीर>गुरु अपवाद हुआ है
% %> शरीर> html>
कोड की व्याख्या:
Exception_example.jsp
कोड लाइन 1: यहां हम गुरु_रोर.जैप में त्रुटि पृष्ठ सेट कर रहे हैं, जिसका उपयोग तब किया जाएगा जब त्रुटि पुनर्निर्देशित होगी।
कोड लाइन 15: हम एक चर संख्या ले रहे हैं और इसे 10 पर सेट कर रहे हैं और एक शर्त की जाँच कर रहे हैं कि यदि संख्या 10 है तो त्रुटि स्थिति के रूप में संदेश के साथ एक रनटाइम अपवाद को फेंकने के लिए।
गुरु_रोर.जस्प
कोड लाइन 1: यहां हम सेट कर रहे हैं IsrrorPageattribute to true।
कोड लाइन 12: थ्रो ऑब्जेक्ट का उपयोग करके अपवाद_example.jsp में उठाया गया है और उस अपवाद को यहां दिखाया जाएगा क्योंकि IsErrorPage विशेषता को सही के रूप में चिह्नित किया गया है। अपवाद का उपयोग करना (यह एक ऐसी वस्तु है जो अपवाद डेटा को JSP द्वारा एक्सेस करने की अनुमति देता है।) ऑब्जेक्ट हम उस त्रुटि के स्टैकट्रेस को प्रिंट करने का प्रयास कर रहे हैं जो अपवाद_example.jsp में हुई थी।
जब आप उपरोक्त कोड निष्पादित करते हैं तो आपको निम्न आउटपुट मिलते हैं:
आउटपुट:
अपवाद को उठाया गया है जो क्रम-अपवाद के थ्रो ऑब्जेक्ट का उपयोग करके अपवाद_example.jsp से फेंका गया था और हमें उपरोक्त कोड मिलता है।
साथ ही guru_error.jsp को भी कहा जाता है जिससे गुरु एक्सेप्शन इस फाइल से हुआ है।
सारांश:
यहाँ हमने इस ट्यूटोरियल में अपवादों के बारे में जाना और ट्यूटोरियल में रनटाइम अपवाद का एक उदाहरण लिया।