Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में अपवादों को फिर से फेंकने का क्या अर्थ है?

जब किसी अपवाद को कैच ब्लॉक में कैश किया जाता है, तो आप थ्रो कीवर्ड (जिसका उपयोग अपवाद ऑब्जेक्ट को फेंकने के लिए किया जाता है) का उपयोग करके इसे फिर से फेंक सकते हैं।

अपवादों को फिर से फेंकते समय आप उसी अपवाद को फेंक सकते हैं जो इसे -

. के रूप में समायोजित किए बिना है
कोशिश करें {int परिणाम =(गिरफ्तारी [ए])/(गिरफ्तारी [बी]); System.out.println ("+arr[a]+"/"+arr[b]+" का परिणाम:"+result);}catch(ArithmeticException e) {फेंक ई;}

या, इसे एक नए अपवाद में लपेटें और इसे फेंक दें। जब आप किसी कैश्ड अपवाद को किसी अन्य अपवाद में लपेटते हैं और उसे फेंकते हैं, तो इसे अपवाद श्रृखंला या अपवाद रैपिंग के रूप में जाना जाता है, ऐसा करने से आप अपने अपवाद को समायोजित कर सकते हैं, अमूर्तता को बनाए रखते हुए उच्च स्तर के अपवाद को फेंक सकते हैं।

कोशिश करें {int परिणाम =(गिरफ्तारी [ए])/(गिरफ्तारी [बी]); System.out.println ("+arr[a]+"/"+arr[b]+" का परिणाम:"+result);}catch(ArrayIndexOutOfBoundsException e) {फेंक new IndexOutOfBoundsException();}

उदाहरण

निम्नलिखित जावा उदाहरण में डेमोमेथोड () में हमारा कोड ArrayIndexOutOfBoundsException एक अंकगणित अपवाद को फेंक सकता है। हम इन दो अपवादों को दो अलग-अलग कैच ब्लॉक में पकड़ रहे हैं।

कैच ब्लॉक में, हम दोनों अपवादों को फिर से फेंक रहे हैं, एक को उच्च अपवादों में लपेटकर और दूसरे को सीधे।

आयात करें int[] गिरफ्तारी ={10, 20, 30, 2, 0, 8}; System.out.println ("सरणी:" + Arrays.toString (गिरफ्तारी)); System.out.println ("इस सरणी से अंश और हर (नहीं 0) चुनें (स्थिति 0 से 5 दर्ज करें)"); int a =sc.nextInt (); इंट बी =sc.nextInt (); कोशिश करें {int परिणाम =(गिरफ्तारी [ए])/(गिरफ्तारी [बी]); System.out.println ("+arr[a]+"/"+arr[b]+" का परिणाम:"+result); } पकड़ें (ArrayIndexOutOfBoundsException e) { नया IndexOutOfBoundsException () फेंकें; } पकड़ें (अंकगणित अपवाद ई) {फेंक ई; } } सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {नया RethrowExample().demoMethod(); }}

आउटपुट1

एरे:[10, 20, 30, 2, 0, 8] इस सरणी से अंश और हर (नहीं 0) चुनें (स्थिति 0 से 5 तक दर्ज करें) 04 थ्रेड में अपवाद "मुख्य" java.lang.ArithmeticException:/ by myPackage.RethrowExample.demoMethod(RethrowExample.java:16) पर myPackage.RethrowExample.main(RethrowExample.java:25)
पर शून्य

आउटपुट2

एरे:[10, 20, 30, 2, 0, 8] इस सरणी से अंश और हर (नहीं 0) चुनें (स्थिति 0 से 5 दर्ज करें) 1245 थ्रेड में अपवाद "मुख्य" java.lang.IndexOutOfBoundsException myPackage पर। RethrowExample.demoMethod(RethrowExample.java:17) myPackage.RethrowExample.main(RethrowExample.java:23)
पर
  1. जावा में StringIndexOutOfBoundsException क्या है?

    जावा में वर्णों के अनुक्रम को संग्रहीत करने के लिए स्ट्रिंग्स का उपयोग किया जाता है, उन्हें वस्तुओं के रूप में माना जाता है। java.lang पैकेज का स्ट्रिंग वर्ग एक स्ट्रिंग का प्रतिनिधित्व करता है। आप या तो नए कीवर्ड (किसी भी अन्य ऑब्जेक्ट की तरह) का उपयोग करके या शाब्दिक (किसी भी अन्य आदिम डेटाटाइप क

  1. रूबी में अपवाद

    एक अपवाद एक विशेष डेटा संरचना है जिसमें असाधारण . के बारे में जानकारी होती है आपके आवेदन में हो रही स्थिति। अपवाद तब भेजे जाते हैं जब आपका प्रोग्राम चलना जारी नहीं रख सकता क्योंकि यह नहीं जानता कि किसी विशिष्ट स्थिति से कैसे निपटा जाए। रूबी में, हम ऐसे सिग्नल भेजने को कहते हैं उठाना एक अपवाद। raise

  1. जावा अपवाद और उन्हें कैसे संभालें

    जावा डेवलपर के रूप में, आपको जावा अपवादों और अपवाद प्रबंधन का अच्छा ज्ञान होना चाहिए। यह ट्यूटोरियल मूल ज्ञान प्रदान करता है जो जावा प्रोग्राम के साथ काम करते समय प्रत्येक प्रोग्रामर के पास होना चाहिए। शुरू करने के लिए, आइए समझते हैं कि वास्तव में जावा अपवाद क्या हैं। Java Exceptions क्या हैं एक ज