Ich habe versucht zu verstehen und zu lesen, was die Ursache sein könnte, aber ich kann es einfach nicht verstehen:
Ich habe dies irgendwo in meinem Code:
try{
..
m.invoke(testObject);
..
} catch(AssertionError e){
...
} catch(Exception e){
..
}
Die Sache ist die, dass, wenn es versucht, s aufzurufen InvocationTargetException
anstelle einer anderen erwarteten Ausnahme (insbesondere ArrayIndexOutOfBoundsException
) Da ich eigentlich weiß, welche Methode aufgerufen wird, bin ich direkt zu diesem Methodencode gegangen und habe einen try-catch-Block für die Zeile hinzugefügt, die vermutlich auslösen soll ArrayIndexOutOfBoundsException
und es warf wirklich ArrayIndexOutOfBoundsException
wie erwartet. Wenn jedoch g ändert sich irgendwie zu InvocationTargetException
und in dem obigen Code catch(Exception e)
e ist InvocationTargetException
und nicht ArrayIndexOutOfBoundsException
wie erwartet.
Was könnte ein solches Verhalten verursachen bzw. wie kann ich so etwas überprüfen?