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