इसका उद्देश्य पदानुक्रम रखने का इरादा है जो समझ में आता है, और समूह से संबंधित अपवादों में भी कार्य करता है।
इसके अलावा, अगर आपको पता है कि IndexOutOfBoundsException
क्या है, और कोई आपको एक और अपवाद देता है जो इसे विस्तारित करता है, तो आप तुरंत इस तथ्य से जानकारी एकत्र कर सकते हैं। इस मामले में, कुछ शामिल वस्तुओं में एक निश्चित सीमा के भीतर इंडेक्स रहते हैं।
यदि प्रत्येक अपवाद Exception
या RuntimeException
(चाहे उसकी घटना की जांच की जानी चाहिए या गैर-जांच की गई हो), और इसका नाम कुछ अस्पष्ट था, तो आपको इसका कोई संकेत नहीं होगा कि यह क्या प्रतिनिधित्व कर सकता है।
निम्नलिखित कोड पर विचार करें।
try {
for (int i = 0; i < limit; ++i) {
myCharArray[i] = myString.charAt(i);
}
}
catch (StringIndexOutOfBoundsException ex) {
// Do you need to treat string indexes differently?
}
catch (ArrayIndexOutOfBoundsException ex) {
// Perhaps you need to do something else when the problem is the array.
}
catch (IndexOutOfBoundsException ex) {
// Or maybe they can both be treated equally.
// Note: you'd have to remove the previous two `catch`.
}