java.lang.ArrayStoreException एक unchecked exception है और यह तब हो सकता है जब हम किसी ऑब्जेक्ट को एक अलग प्रकार के ऑब्जेक्ट्स के ऐरे में स्टोर करने का प्रयास करते हैं। आमतौर पर, java.lang.ArrayStoreException: java.lang.Integer देखने को मिलता है जो तब होता है जब एक Integer को String या float के ऐरे जैसे अलग प्रकार के ऐरे में स्टोर करने का प्रयास किया जाता है।
उदाहरण 1
public class ArrayStoreExceptionTest {
public static void main(String[] args) {
Object[] names = new Float[2];
names[1] = new Integer(2);
}
}
आउटपुट
Exception in thread "main" java.lang.ArrayStoreException: java.lang.Integer
at ArrayStoreExceptionTest.main(ArrayStoreExceptionTest.java:4)
उपरोक्त प्रोग्राम में, java.lang.ArrayStoreException: java.lang.Integer उत्पन्न हुआ:
- java.lang.ArrayStoreException: जावा भाषा द्वारा फेंका गया अपवाद जब हम java.lang.Integer प्रकार के ऑब्जेक्ट को java.lang.Float के ऐरे में स्टोर करने का प्रयास करते हैं।
- java.lang.Integer: Integer उस ऑब्जेक्ट का प्रकार है जिसे अलग प्रकार के ऐरे में स्टोर करने का प्रयास किया गया।
ArrayStoreException को कैसे संभालें
हम ArrayStoreException को try और catch ब्लॉक्स का उपयोग करके संभाल सकते हैं।
- उन स्टेटमेंट्स को try और catch ब्लॉक्स से घेरें जो ArrayStoreException फेंक सकते हैं।
- हम ArrayStoreException को Catch कर सकते हैं।
- अपने प्रोग्राम के लिए आवश्यक कार्रवाई करें, क्योंकि हम अपवाद को संभाल रहे हैं और निष्पादन समाप्त नहीं होता।
उदाहरण 2
public class ArrayStoreExceptionTest {
public static void main(String[] args) {
Object[] names = new Float[2];
try {
names[1] = new Integer(2);
} catch (ArrayStoreException e) {
e.printStackTrace();
System.out.println("ArrayStoreException को संभाल लिया गया है");
}
System.out.println("try और catch ब्लॉक्स के बाद के स्टेटमेंट्स के साथ जारी");
}
}
आउटपुट
ArrayStoreException को संभाल लिया गया है
try और catch ब्लॉक्स के बाद के स्टेटमेंट्स के साथ जारी
java.lang.ArrayStoreException: java.lang.Integer
at ArrayStoreExceptionTest.main(ArrayStoreExceptionTest.java:5)
उपरोक्त उदाहरण में, जब अपवाद होता है, तो निष्पादन अपवाद की घटना के बिंदु से catch ब्लॉक पर चला जाता है। यह catch ब्लॉक में स्टेटमेंट को निष्पादित करता है और try और catch ब्लॉक्स के बाद मौजूद स्टेटमेंट के साथ जारी रहता है।