Mudança de comportamento em exceções ao chamar o método Class.getAnnotation()

O método java.lang.Class.getAnnotation() anteriormente lançava a mensagem incorreta java.lang.ArrayStoreException quando a anotação tinha um valor de matriz que fazia referência a uma classe ausente. No Java 11, essa chamada resulta em um java.lang.TypeNotPresentException quando a anotação tem um valor de matriz que faz referência a uma classe ausente. Avalie a lógica em seu bloco catch para ver se você também precisa manipular TypeNotPresentException ou um tipo de exceção de tempo de execução mais geral.

Essa regra sinaliza as chamadas para o java.lang.Class.getAnnotation() quando a chamada do método é cercada por um try com uma declaração catch cláusula para ArrayStoreException.

Essa regra tem uma correção automatizada para substituir ArrayStoreException com o TypeNotPresentException em try/catch usando Class.getAnnotation(). Copie a configuração personalizada para o arquivo de compilação do aplicativo para ativar a automação da correção.

Para o Javadoc de classe, consulte Classe. Para obter mais informações sobre as mudanças do Java SE 11, consulte Recursos e opções removidos no JDK 11.