Geändertes Verhalten in Ausnahmen beim Aufruf der Methode Class.getAnnotation()

Die Methode java.lang.Class.getAnnotation() löst in früheren Versionen die falsche Ausnahme java.lang.ArrayStoreException aus, wenn die Annotation einen Array-Wert hat, der eine fehlende Klasse referenziert. In Java 11 führt dieser Aufruf zu einer Ausnahme des Typs java.lang.TypeNotPresentException, wenn die Annotation einen Array-Wert hat, der eine fehlende Klasse referenziert. Werten Sie die Logik in Ihrem catch-Block aus, um festzustellen, ob Sie auch eine Ausnahme des Typs "TypeNotPresentException" oder einen allgemeineren Typ von Laufzeitausnahme behandeln müssen.

Diese Regel markiert Aufrufe der Methode java.lang.Class.getAnnotation(), wenn der Methodenaufruf in eine try-Anweisung mit einer catch-Klausel für ArrayStoreException eingeschlossen ist.

Weitere Informationen finden Sie in der Javadoc unter Class. Weitere Informationen zu den Änderungen in Java SE 11 finden Sie unter Removed Features and Options in JDK 11.