खैर, मैंने इसे समझने और पढ़ने की कोशिश की है कि यह क्या कारण हो सकता है लेकिन मैं इसे प्राप्त नहीं कर सकता:
मेरे पास मेरे कोड में यह कहीं है:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
बात यह है कि, जब यह कुछ विधि को लागू करने की कोशिश करता है तो यह InvocationTargetExceptionकुछ अन्य अपेक्षित अपवाद (विशेष रूप से ArrayIndexOutOfBoundsException) के बजाय फेंकता है
। जैसा कि मुझे वास्तव में पता है कि किस विधि को लागू किया जाता है, मैं सीधे इस विधि कोड में गया और लाइन के लिए एक ट्राइ-कैच ब्लॉक जोड़ा जो कि फेंकने के लिए लगता है ArrayIndexOutOfBoundsExceptionऔर यह वास्तव ArrayIndexOutOfBoundsExceptionमें अपेक्षित रूप से फेंक दिया । फिर भी जब यह ऊपर जा रहा है तो
ई InvocationTargetExceptionके ऊपर और कोड में किसी तरह बदल जाता catch(Exception e)है InvocationTargetExceptionऔर ArrayIndexOutOfBoundsException
अपेक्षा के अनुरूप नहीं है।
इस तरह के व्यवहार का क्या कारण हो सकता है या मैं इस तरह की जांच कैसे कर सकता हूं?