Bem, tentei entender e ler o que poderia causar isso, mas simplesmente não consigo:
Eu tenho isso em algum lugar no meu código:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
O problema é que, quando tenta invocar algum método, lança em
InvocationTargetException
vez de outra exceção esperada (especificamente ArrayIndexOutOfBoundsException
). Como eu realmente sei qual método é chamado, fui direto para esse código de método e adicionei um bloco try-catch para a linha que deveria ser lançada ArrayIndexOutOfBoundsException
e realmente foi lançada ArrayIndexOutOfBoundsException
conforme o esperado. No entanto, ao subir, de alguma forma, muda para InvocationTargetException
e no código acima catch(Exception e)
e é InvocationTargetException
e não ArrayIndexOutOfBoundsException
o esperado.
O que poderia causar esse comportamento ou como posso verificar isso?