Neyin sebep olabileceğini anlamaya ve okumaya çalıştım ama anlayamıyorum:
Benim kodda bir yerde var:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
Bir şey, bir yöntemi çağırmaya çalıştığında, InvocationTargetExceptionbeklenen diğer bir istisna yerine (özellikle ArrayIndexOutOfBoundsException) atar
. Aslında hangi yöntemin çağrıldığını bildiğim için doğrudan bu yöntem koduna gittim ve atması gereken hat için bir try-catch bloğu ekledim ArrayIndexOutOfBoundsExceptionve gerçekten ArrayIndexOutOfBoundsExceptionbeklendiği gibi fırladı . Yine de yukarı çıkarken InvocationTargetException, catch(Exception e)
e'nin üstündeki kodda ve kodda bir şekilde değişiklikler
beklendiği gibi InvocationTargetExceptiondeğil ArrayIndexOutOfBoundsException.
Böyle bir davranışa ne sebep olabilir veya böyle bir şeyi nasıl kontrol edebilirim?