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