まあ、私はそれを引き起こす可能性があるものを理解して読んでみましたが、それを得ることができません:
私のコードのどこかにこれがあります:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
それは、あるメソッドを呼び出そうとするInvocationTargetException
と、他の予期される例外(具体的にはArrayIndexOutOfBoundsException
)の代わりにスロー
されるということです。呼び出されるメソッドを実際に知っているので、このメソッドコードに直接進み、スローするはずの行にtry-catchブロックを追加しましたArrayIndexOutOfBoundsException
がArrayIndexOutOfBoundsException
、期待どおりに実際にスロー されました。それでも上に行くと、どういうわけかInvocationTargetException
、上記のコードに変更され、catch(Exception e)
eは
予想どおりではInvocationTargetException
ありませんArrayIndexOutOfBoundsException
。
何がそのような動作を引き起こす可能性がありますか、またはどのようにしてそのようなことを確認できますか?