JSP में अपवाद प्रबंधन
JSP में अपवाद क्या है?
अपवाद JSP में तब होता है जब डेवलपर की ओर से या सिस्टम की ओर से कोड में कोई त्रुटि होती है। JSP में अपवाद हैंडलिंग उसी तरह है जैसे कि Java जहाँ हम Try Catch ब्लॉक का उपयोग करके अपवादों का प्रबंधन करते हैं। Java, JSP में ऐसे अपवाद भी होते हैं जब कोड में कोई त्रुटि नहीं होती।
JSP में अपवादों के प्रकार
JSP में अपवाद तीन प्रकार के होते हैं:
- चेक किया गया अपवाद
- क्रम अपवाद
- त्रुटि अपवाद
जाँचे गए अपवाद
यह आम तौर पर उपयोगकर्ता की गलती या समस्या होती है जिसे डेवलपर द्वारा नहीं देखा जाता है, उसे चेक अपवाद कहा जाता है। कुछ चेक अपवाद उदाहरण हैं:
- FileNotFoundException: यह एक चेक अपवाद है (जहां यह फ़ाइल को खोजने का प्रयास करता है, जबकि फ़ाइल डिस्क पर नहीं मिलती है)।
- आईओ अपवाद: यह भी चेक अपवाद है यदि किसी फ़ाइल को पढ़ने या लिखने के दौरान कोई अपवाद उत्पन्न होता है तो IO अपवाद उठाया जाता है।
- SQLException: यह भी एक चेक अपवाद है जब फ़ाइल से कनेक्ट किया जाता है एसक्यूएल डेटाबेस, और SQL डेटाबेस की कनेक्टिविटी के साथ समस्या है तो SQLException उठाया जाता है
रनटाइम अपवाद
रनटाइम अपवाद वे अपवाद हैं जिन्हें प्रोग्रामर द्वारा टाला जा सकता था। संकलन के समय उन्हें अनदेखा कर दिया जाता है। कुछ रनटाइम अपवाद उदाहरण हैं:
- सीमा अपवाद के बाहर सरणी सूचकांक: यह एक रनटाइम अपवाद है जब सरणी का आकार सीमा से अधिक हो जाता है तत्व.
- अंकगणितयह भी एक रनटाइम अपवाद है जब कोई गणितीय ऑपरेशन होता है, जिसकी सामान्य परिस्थितियों में अनुमति नहीं होती है, उदाहरण के लिए, किसी संख्या को 0 से विभाजित करने पर अपवाद उत्पन्न होगा।
- शून्य सूचक का अपवाद: यह भी एक रनटाइम अपवाद है जो तब उठाया जाता है जब कोई चर या ऑब्जेक्ट शून्य होता है जब हम उसे एक्सेस करने का प्रयास करते हैं। यह एक बहुत ही सामान्य अपवाद है।
त्रुटियाँ:
समस्या उपयोगकर्ता या प्रोग्रामर के नियंत्रण के कारण उत्पन्न होती है। यदि स्टैक ओवरफ्लो होता है, तो त्रुटि हो सकती है। त्रुटि के कुछ उदाहरण नीचे सूचीबद्ध हैं:
- त्रुटि: यह त्रुटि throwable का एक उपवर्ग है जो गंभीर समस्याओं को इंगित करता है जिसे कोई एप्लिकेशन पकड़ नहीं सकता है।
- इन्स्टेन्शियेशन त्रुटियह त्रुटि तब होती है जब हम किसी ऑब्जेक्ट को इंस्टैंसिएट करने का प्रयास करते हैं, और वह ऐसा करने में विफल हो जाता है।
- आंतरिक गलती: यह त्रुटि तब होती है जब JVM से कोई त्रुटि उत्पन्न होती है अर्थात Java आभासी मशीन.
त्रुटि अपवाद
यह throwable क्लास का एक उदाहरण है, और इसका उपयोग त्रुटि पृष्ठों में किया जाता है। throwable क्लास के कुछ तरीके इस प्रकार हैं:
- सार्वजनिक स्ट्रिंग getMessage() - अपवाद का संदेश लौटाता है.
- सार्वजनिक throwablegetCause() – अपवाद का कारण बताता है
- Public printStackTracइ()– returns the stacktrace of the exception.
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: यहां हम isErrorPageattribute को true पर सेट कर रहे हैं।
Code रेखा 12: The exception has been raised in exception_example.jsp using throw object and that exception will be shown here as IsErrorPage attribute is marked as true. Using the exception (this is an object which allows the exception data to be accessed by the JSP.) object we are trying to print the stacktrace of the error which was occurred in exception_example.jsp.
जब आप उपरोक्त कोड निष्पादित करते हैं तो आपको निम्नलिखित आउटपुट मिलता है:
आउटपुट:
The exception has been raised which was thrown from exception_example.jsp using throw object of runtime exception and we get the above code. Also guru_error.jsp is called from which Guru Exception has occurred from this file.
सारांश
- JSP में अपवाद तब उत्पन्न होते हैं जब डेवलपर द्वारा कोड में कोई त्रुटि होती है या सिस्टम की ओर से कोई आंतरिक त्रुटि होती है।
- JSP में अपवाद 3 प्रकार के होते हैं: जाँचे गए अपवाद, रनटाइम अपवाद और त्रुटि अपवाद
- चेक अपवाद सामान्यतः उपयोगकर्ता की त्रुटि होती है या ऐसी समस्याएं जो डेवलपर द्वारा नहीं देखी जाती हैं, उन्हें चेक अपवाद कहा जाता है।
- रनटाइम अपवाद वे अपवाद हैं जिन्हें प्रोग्रामर द्वारा टाला जा सकता था। संकलन के समय उन्हें अनदेखा कर दिया जाता है।
- त्रुटि अपवाद throwable वर्ग का एक उदाहरण है, और इसका उपयोग त्रुटि पृष्ठों में किया जाता है।

