JSP में अपवाद प्रबंधन
⚡ स्मार्ट सारांश
JSP में एक्सेप्शन हैंडलिंग कोड निष्पादन के दौरान होने वाली त्रुटियों को प्रबंधित करती है, ठीक उसी तरह जैसे Java ट्राई-कैच ब्लॉक। अपवाद तीन प्रकार के होते हैं: चेक्ड, रनटाइम और एरर। JSP पेज अपवादों को रीडायरेक्ट करने और प्रदर्शित करने के लिए errorPage और isErrorPage विशेषताओं का उपयोग करते हैं।

JSP में अपवाद क्या है?
अपवाद JSP में तब होता है जब डेवलपर की ओर से या सिस्टम की ओर से कोड में कोई त्रुटि होती है। JSP में अपवाद हैंडलिंग उसी तरह है जैसे कि Java जहाँ हम Try Catch ब्लॉक का उपयोग करके अपवादों का प्रबंधन करते हैं। Java, JSP में ऐसे अपवाद भी होते हैं जब कोड में कोई त्रुटि नहीं होती।
JSP में अपवादों के प्रकार
JSP में अपवाद तीन प्रकार के होते हैं:
- चेक किया गया अपवाद
- क्रम अपवाद
- त्रुटि अपवाद
जाँचे गए अपवाद
यह आम तौर पर उपयोगकर्ता की गलती या समस्या होती है जिसे डेवलपर द्वारा नहीं देखा जाता है, उसे चेक अपवाद कहा जाता है। कुछ चेक अपवाद उदाहरण हैं:
- FileNotFoundException: यह एक चेक अपवाद है (जहां यह फ़ाइल को खोजने का प्रयास करता है, जबकि फ़ाइल डिस्क पर नहीं मिलती है)।
- आईओ अपवाद: यह भी चेक अपवाद है यदि किसी फ़ाइल को पढ़ने या लिखने के दौरान कोई अपवाद उत्पन्न होता है तो IO अपवाद उठाया जाता है।
- SQLException: यह भी एक चेक अपवाद है जब फ़ाइल से कनेक्ट किया जाता है एसक्यूएल डेटाबेस, और SQL डेटाबेस की कनेक्टिविटी के साथ समस्या है तो SQLException उठाया जाता है
रनटाइम अपवाद
रनटाइम अपवाद वे अपवाद हैं जिन्हें प्रोग्रामर द्वारा टाला जा सकता था। संकलन के समय उन्हें अनदेखा कर दिया जाता है। कुछ रनटाइम अपवाद उदाहरण हैं:
- सीमा अपवाद के बाहर सरणी सूचकांक: यह एक रनटाइम अपवाद है जब सरणी का आकार सीमा से अधिक हो जाता है तत्व.
- अंकगणितयह भी एक रनटाइम अपवाद है जब कोई गणितीय ऑपरेशन होता है, जिसकी सामान्य परिस्थितियों में अनुमति नहीं होती है, उदाहरण के लिए, किसी संख्या को 0 से विभाजित करने पर अपवाद उत्पन्न होगा।
- शून्य सूचक का अपवाद: यह भी एक रनटाइम अपवाद है जो तब उठाया जाता है जब कोई चर या ऑब्जेक्ट शून्य होता है जब हम उसे एक्सेस करने का प्रयास करते हैं। यह एक बहुत ही सामान्य अपवाद है।
त्रुटियाँ:
समस्या उपयोगकर्ता या प्रोग्रामर के नियंत्रण के कारण उत्पन्न होती है। यदि स्टैक ओवरफ्लो होता है, तो त्रुटि हो सकती है। त्रुटि के कुछ उदाहरण नीचे सूचीबद्ध हैं:
- त्रुटि: यह त्रुटि throwable का एक उपवर्ग है जो गंभीर समस्याओं को इंगित करता है जिसे कोई एप्लिकेशन पकड़ नहीं सकता है।
- इन्स्टेन्शियेशन त्रुटियह त्रुटि तब होती है जब हम किसी ऑब्जेक्ट को इंस्टैंसिएट करने का प्रयास करते हैं, और वह ऐसा करने में विफल हो जाता है।
- आंतरिक गलती: यह त्रुटि तब होती है जब JVM से कोई त्रुटि उत्पन्न होती है अर्थात Java आभासी मशीन.
त्रुटि अपवाद
यह throwable क्लास का एक उदाहरण है, और इसका उपयोग त्रुटि पृष्ठों में किया जाता है। throwable क्लास के कुछ तरीके इस प्रकार हैं:
- सार्वजनिक स्ट्रिंग getMessage() - अपवाद का संदेश लौटाता है.
- सार्वजनिक थ्रोएबल गेटकॉज़() – अपवाद का कारण बताता है
- सार्वजनिक प्रिंटस्टैकTracइ() – स्टैक लौटाता हैtracअपवाद का।
JSP में अपवाद को कैसे संभालें
JSP में अपवाद को कैसे संभालना है इसका एक उदाहरण यहां दिया गया है:
अपवाद_उदाहरण.jsp
<%@ page errorPage="guru_error.jsp" %> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Exception Guru JSP1</title> </head> <body> <% int num = 10; if (num == 10) { throw new RuntimeException("Error condition!!!"); } %> </body> </html>
Guru_error.jsp
<%@ page isErrorPage="true" %> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Exception Page</title> </head> <body> <p>Guru Exception has occurred</p> <% exception.printStackTrace(response.getWriter()); %> </body> </html>
कोड का स्पष्टीकरण:
अपवाद_उदाहरण.jsp
Code रेखा 1: यहां हम त्रुटि पृष्ठ को guru_error.jsp पर सेट कर रहे हैं जिसका उपयोग त्रुटि को पुनर्निर्देशित करते समय किया जाएगा।
Code रेखा 15: हम एक चर संख्या ले रहे हैं और इसे 10 पर सेट कर रहे हैं और एक शर्त की जांच कर रहे हैं यदि संख्या 10 है तो त्रुटि स्थिति के रूप में संदेश के साथ एक रनटाइम अपवाद फेंकना है।
Guru_error.jsp
Code रेखा 1: यहां हम isErrorPage एट्रिब्यूट को true पर सेट कर रहे हैं।
Code रेखा 12: exception_example.jsp में throw ऑब्जेक्ट का उपयोग करके एक अपवाद उत्पन्न किया गया है और वह अपवाद यहाँ दिखाया जाएगा क्योंकि IsErrorPage विशेषता को true के रूप में चिह्नित किया गया है। exception ऑब्जेक्ट (यह एक ऑब्जेक्ट है जो JSP को अपवाद डेटा तक पहुँचने की अनुमति देता है) का उपयोग करके हम स्टैक को प्रिंट करने का प्रयास कर रहे हैं।tracexception_example.jsp में हुई त्रुटि का विवरण।
जब आप उपरोक्त कोड निष्पादित करते हैं तो आपको निम्नलिखित आउटपुट मिलता है:
आउटपुट:
एक्सेप्शन उत्पन्न हुआ है जिसे exception_example.jsp से रनटाइम एक्सेप्शन के थ्रो ऑब्जेक्ट का उपयोग करके फेंका गया था और हमें उपरोक्त कोड प्राप्त होता है। साथ ही guru_error.jsp को भी कॉल किया जाता है। Guru इस फ़ाइल से अपवाद उत्पन्न हुआ है।

