Zmiana w działaniu wyjątków w przypadku wywołania metody Class.getAnnotation()

Wywołanie metody java.lang.Class.getAnnotation() wcześniej powodowało zgłoszenie niepoprawnego wyjątku java.lang.ArrayStoreException, gdy adnotacja zawierała wartość tablicy odwołującą się do brakującej klasy. W środowisku Java 11 wywołanie tej metody spowoduje zgłoszenie wyjątku java.lang.TypeNotPresentException, gdy adnotacja zawiera wartość tablicy odwołującą się do brakującej klasy. Należy zbadać logikę bloku catch, sprawdzając, czy istnieje konieczność obsługi wyjątku TypeNotPresentException lub bardziej ogólnego typu wyjątku środowiska wykonawczego.

Ta reguła oznacza wywołania metody java.lang.Class.getAnnotation(), gdy wywołanie metody jest otoczone przez instrukcję try z klauzulą catch na potrzeby wyjątku ArrayStoreException.

Dokumentacja Javadoc dotycząca klasy Class jest dostępna na stronie Klasa. Więcej informacji na temat zmian w środowisku Java SE 11 zawiera publikacja Składniki i opcje usunięte z pakietu JDK 11.