रनटाइम अपवाद जावा प्रोग्रामिंग भाषा के सभी अपवादों में मूल वर्ग है, जिसके होने पर प्रोग्राम या एप्लिकेशन के क्रैश या टूटने की उम्मीद की जाती है। अपवादों के विपरीत जिन्हें रनटाइम अपवाद नहीं माना जाता है, रनटाइम अपवादों की कभी जांच नहीं की जाती है।
रनटाइम अपवाद आमतौर पर उस स्थिति के बजाय प्रोग्रामर की त्रुटि दिखाता है, जिससे किसी प्रोग्राम से निपटने की उम्मीद की जाती है। रनटाइम अपवादों का उपयोग तब भी किया जाता है जब ऐसी स्थिति उत्पन्न नहीं हो सकती है। यह ध्यान दिया जाना चाहिए कि जब कोई प्रोग्राम मेमोरी से बाहर चल रहा होता है, तो प्रोग्राम त्रुटि को रनटाइम अपवाद के रूप में दिखाने के बजाय फेंक दिया जाता है।
सबसे आम रनटाइम अपवाद हैं NullPointerException , ArrayIndexOutOfBoundsException और अवैधArgumentException . जावा वर्चुअल मशीन पहले दो रनटाइम अपवादों को फेंकती है।
- NullPointerException जावा वर्चुअल मशीन द्वारा फेंका गया अपवाद है जब कोई उपयोगकर्ता किसी निश्चित ऑब्जेक्ट पर कुछ ऑपरेशन करता है जिसे शून्य माना जाता है या शून्य ऑब्जेक्ट पर किसी विधि के लिए कॉल कर रहा है। उपयोगकर्ता को इस प्रकार के अपवाद को संभालने का प्रयास नहीं करना चाहिए क्योंकि यह केवल समस्या को ठीक करेगा और इसे पूरी तरह से ठीक नहीं करेगा।
- ArrayIndexOutOfBoundsException अपवाद है जो जावा रनटाइम एनवायरनमेंट द्वारा स्वचालित रूप से फेंक दिया जाता है जब एक निश्चित जावा प्रोग्राम गलत तरीके से एक सेट में एक निश्चित स्थान तक पहुंचने का प्रयास करता है जो मौजूद नहीं है। यह अक्सर तब होता है जब अनुरोधित सरणी अनुक्रमणिका ऋणात्मक होती है, या सरणी के आकार से अधिक या उसके बराबर होती है। जावा की सरणियाँ शून्य-आधारित अनुक्रमण का उपयोग करती हैं; इस प्रकार, उस सरणी के पहले तत्व में शून्य अनुक्रमणिका होती है, अंतिम तत्व आकार 1 की अनुक्रमणिका के साथ आता है, और nवां तत्व अनुक्रमणिका n-1 के साथ आता है।
- अमान्य आर्ग्यूमेंट अपवाद एक अपवाद तब उठाया जाता है जब सर्वर के संदर्भित कनेक्शन पर एक निश्चित विधि को एक अमान्य पैरामीटर पास किया जाता है।
उदाहरण
public class MyExceptionTest { public void testRuntimeException () { throw new MyException(); } public static void main(String[] args) { try { new MyExceptionTest().testRuntimeException(); } catch(Exception e) { System.out.println(e.getClass().getName()); } } } class MyException extends RuntimeException { public MyException() { super(); } }
आउटपुट
MyException