Ну, я пытался понять и прочитать, что может вызвать это, но я просто не могу понять:
У меня есть это где-то в моем коде:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
Дело в том, что, когда он пытается вызвать какой-то метод, он выбрасывает
InvocationTargetExceptionвместо некоторого другого ожидаемого исключения (в частности ArrayIndexOutOfBoundsException). Поскольку я на самом деле знаю, какой метод вызывается, я сразу перешел к коду этого метода и добавил блок try-catch для строки, которая предполагает выброс, ArrayIndexOutOfBoundsExceptionи он действительно выбросил, ArrayIndexOutOfBoundsExceptionкак и ожидалось. Но при переходе на это как - то меняется InvocationTargetExceptionи в приведенном выше коде catch(Exception e)
е, InvocationTargetExceptionа не ArrayIndexOutOfBoundsException
как ожидалось.
Что может вызвать такое поведение или как я могу проверить такую вещь?