Изменение логики исключительных ситуаций при вызове метода Class.getAnnotation()

В методе java.lang.Class.getAnnotation() ранее бросил неправильный java.lang.ArrayStoreException когда аннотация имела значение массива, ссылающееся на отсутствующий класс. В Java 11 этот вызов приводит к java.lang.TypeNotPresentException когда аннотация имеет значение массива, ссылающееся на отсутствующий класс. Проверьте логику работы блока catch и определите, нужно ли обрабатывать TypeNotPresentException или более общую исключительную ситуацию времени выполнения.

Это правило помечает вызовы java.lang.Class.getAnnotation() метод, когда вызов метода окружен try заявление с catch пункт для ArrayStoreException.

В этом правиле есть автоматическое исправление для замены ArrayStoreException с TypeNotPresentException в try/catch с помощью Class.getAnnotation(). Скопируйте пользовательскую конфигурацию в файл сборки приложения, чтобы включить автоматизацию исправлений.

Для того чтобы ознакомиться с документацией Java по классу, перейдите по этой ссылке. Дополнительную информацию об изменениях в Java SE 11 см Удаленные функции и опции в JDK 11.