java.lang.ArrayStoreException একটি অনচেকড এক্সেপশন এবং এটি তখন ঘটে যখন আমরা একটি অ্যারেতে ভিন্ন টাইপের অবজেক্ট স্টোর করার চেষ্টা করি। সাধারণত java.lang.ArrayStoreException: java.lang.Integer দেখা যায়, যা ঘটে যখন একটি ইন্টিজারকে স্ট্রিং অ্যারে বা ফ্লোট অ্যারে gibi ভিন্ন টাইপের অ্যারেতে রাখার চেষ্টা করা হয়।
উদাহরণ ১
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: ইন্টিজার হল সেই অবজেক্টের টাইপ যা ভিন্ন টাইপের অ্যারেতে রাখার চেষ্টা করা হয়েছে।
ArrayStoreException কীভাবে হ্যান্ডেল করবেন
ArrayStoreException কে try এবং catch ব্লক ব্যবহার করে হ্যান্ডেল করা যায়।
- যে স্টেটমেন্টগুলো ArrayStoreException নিক্ষেপ করতে পারে সেগুলো try এবং catch ব্লক দিয়ে ঘেরে দিন।
- ArrayStoreException ক্যাচ করুন।
- প্রোগ্রামের জন্য প্রয়োজনীয় অ্যাকশন নিন, কারণ এক্সেপশন হ্যান্ডেল করার কারণে এক্সিকিউশন অ্যাবোর্ট হবে না।
উদাহরণ ২
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 is handled");
}
System.out.println("Continuing with the statements after try and catch blocks");
}
}
আউটপুট
ArrayStoreException is handled
Continuing with the statements after try and catch blocks
java.lang.ArrayStoreException: java.lang.Integer
at ArrayStoreExceptionTest.main(ArrayStoreExceptionTest.java:5)
উপরোক্ত উদাহরণে, যখন এক্সেপশন ঘটে, এক্সিকিউশন throw পয়েন্ট থেকে catch ব্লকে চলে যায়। এতে catch ব্লকের স্টেটমেন্ট এক্সিকিউট হয় এবং try-catch ব্লকের পরের স্টেটমেন্টগুলো চালিয়ে যায়।