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, InvocationTargetException
beklenen 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 ArrayIndexOutOfBoundsException
ve gerçekten ArrayIndexOutOfBoundsException
beklendiğ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 InvocationTargetException
değil ArrayIndexOutOfBoundsException
.
Böyle bir davranışa ne sebep olabilir veya böyle bir şeyi nasıl kontrol edebilirim?