java - Error when rethrowing exception -
मुझे एक त्रुटि मिल रही है मैं अभी भी जावा के लिए नया हूँ और मेरी किताब "पुनर्स्थापित" करने के लिए नीचे का उपयोग करती है, लेकिन मुझे से यह अनचेक किए गए अपवादों के लिए आवश्यक नहीं है। इस बात को ध्यान में रखते हुए, इन उदाहरणों पर विचार करें: आप मतभेदों पर एक चर्चा पा सकते हैं, उदाहरण के लिए, त्रुटि: (25, 13) java: unreported exception अपवाद A; को पकड़ा जाना चाहिए या घोषित किया जाना चाहिए अपवाद को फिर से खोलने का प्रयास करते समय
अपवाद को छोड़ने में त्रुटि मिलती है; फिर से शुरू करने का प्रयास करते हुए भी यह सीधे आधारित है पुस्तक से दूर <पूर्व>
आयात करें java.io.IOException; सार्वजनिक वर्ग पकड़ने अपवाद {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग एल्ग्स []) {throwExceptionA (); throwExceptionB (); throwNullPointer (); throwIOException (); } पब्लिक स्टेटिक व्हाइड फेंक एक्सपेशेंसी ए () {नए अपवाद को फेंकें (); } पकड़ (अपवाद ए अपवाद) {System.err.printf ("अपवाद:% s \ n", अपवाद); System.err.println ("अपवाद A विधि में निष्कर्ष निकालना A \ n"); अपवाद छोड़ो; }} पब्लिक स्टेटिक व्हाइड थ्रो एक्सपेशियल बी () {नया अपवाद B } पकड़ (अपवाद बी अपवाद) {System.err.printf ("अपवाद:% s \ n", अपवाद); System.err.println ("अपवाद बी को संभालने में विधि throwExceptionB \ n"); }} सार्वजनिक स्थैतिक शून्य निओ पॉइन्टर () {try {NullPointerException () फेंक दें; } पकड़ (NullPointerException अपवाद) {System.err.printf ("अपवाद:% s \ n", अपवाद); System.err.println ("NullPointerException विधि throwNullPointerException में संभाला \ n"); }} सार्वजनिक स्थैतिक शून्य throwIOException () {try new IOException () फेंकें; } पकड़ (IOException अपवाद) {System.err.printf ("अपवाद:% s \ n", अपवाद); System.err.println ("IOException पद्धति में संभाला throwEeception \ n"); जावा में कोई भी तरीका जो चेक कर सकता है
सार्वजनिक स्थिर शून्य खाली एक्सपेक्शन ए ()
सार्वजनिक स्थिर शून्य रहित एक्सपेक्शन ए () फेंकता अपवाद A
रनटाइम एक्सपॉशन , इसे अनचेक किया गया माना जाता है और इसे घोषित करने की आवश्यकता नहीं है।
अपवाद से प्राप्त होता है , लेकिन कभी भी
RuntimeException से चेक किया गया नहीं माना जाता है और यदि वे विधि द्वारा फेंका जा सकता है तो उन्हें घोषित करने की आवश्यकता है।
सार्वजनिक शून्य फेंकता हैअनुवादित चेक्डएक्सेशन () {// कंपाइलर त्रुटि क्योंकि यह अपवाद घोषित नहीं किया गया है (और पकड़ा नहीं) नया अपवाद फेंकना (); } सार्वजनिक शून्य फेंकता है घोषित किए गए एक्सपेशन्शन () फेंकता अपवाद {// ठीक है, क्योंकि इसे घोषित किया गया था कि नए अपवाद फेंकना (); } सार्वजनिक शून्य पकड़ता हैअनुवादित जाँच (अपवाद) ({नई अपवाद फेंकें}; } पकड़ (अपवाद को नजरअंदाज कर दिया) {// फेंक दिया अपवाद पकड़ा गया है और अब अनदेखा किया गया है, इसलिए विधि / फेंक नहीं सकते और हमें कुछ भी घोषित करने की आवश्यकता नहीं है}} सार्वजनिक शून्य फेंकता है UnclassedRuntimeException () {// ठीक है, क्योंकि यह एक अनचाहे अपवाद नए RuntimeException फेंक (); } सार्वजनिक शून्य फेंकता है घोषित रेंटाइम अपवाद () RuntimeException {// works फेंकता है, लेकिन विधि पर "फेंकता" घोषणा अनावश्यक नई RuntimeException फेंक () है; }
Comments
Post a Comment