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