Bueno, he tratado de entender y leer lo que podría causarlo, pero no puedo entenderlo:
Tengo esto en algún lugar de mi código:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
La cosa es que, cuando intenta invocar algún método, lanza en
InvocationTargetExceptionlugar de alguna otra excepción esperada (específicamente ArrayIndexOutOfBoundsException). Como realmente sé qué método se invoca, fui directamente a este código de método y agregué un bloque try-catch para la línea que se supone que debe lanzar ArrayIndexOutOfBoundsExceptiony realmente arrojó ArrayIndexOutOfBoundsExceptioncomo se esperaba. Sin embargo, al subir, de alguna manera cambia a InvocationTargetExceptiony en el código anterior, catch(Exception e)
e es InvocationTargetExceptiony no ArrayIndexOutOfBoundsException
como se esperaba.
¿Qué podría causar tal comportamiento o cómo puedo verificarlo?