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

Die Methode java.lang.Class.getAnnotation() zuvor die falsche java.lang.ArrayStoreException wenn die Anmerkung einen Array-Wert hat, der auf eine fehlende Klasse verweist. In Java 11 führt dieser Aufruf zu einer java.lang.TypeNotPresentException wenn die Anmerkung einen Array-Wert hat, der auf eine fehlende Klasse verweist. 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 kennzeichnet Aufrufe an die java.lang.Class.getAnnotation() methode, wenn der Methodenaufruf von einer try anweisung mit einer catch klausel für ArrayStoreException.

Diese Regel enthält eine automatische Korrektur, die Folgendes ersetzt ArrayStoreException mit TypeNotPresentException in try/catch mit Class.getAnnotation(). Kopieren Sie die benutzerdefinierte Konfiguration in die Build-Datei Ihrer Anwendung, um die Automatisierung der Korrektur zu aktivieren.

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.