Změna chování ve výjimkách při volání metody Class.getAnnotation()

Metoda java.lang.Class.getAnnotation() dříve vygenerovala chybnou výjimku java.lang.ArrayStoreException, když anotace měla hodnotu pole, která odkazovala na chybějící třídu. V prostředí Java 11 způsobí toto volání vygenerování výjimky java.lang.TypeNotPresentException, když má anotace hodnotu pole, která odkazuje na chybějící třídu. Vyhodnoťte logiku v zachytávacím bloku, abyste viděli, zda musíte také ošetřit výjimku TypeNotPresentException, nebo obecnější typ výjimky za běhu.

Toto pravidlo označí příznakem volání metody java.lang.Class.getAnnotation(), když je volání metody obklopeno příkazem try s klauzulí catch pro výjimku ArrayStoreException.

V případě dokumentace Javadoc si prohlédněte téma Třída. Další informace o změnách v prostředí Java SE 11 viz Odebrané funkce a volby v sadě JDK 11.