Изменение логики исключительных ситуаций при вызове метода 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.