Modificarea comportamentului în excepţii când se apelează metoda Class.getAnnotation()

Metoda java.lang.Class.getAnnotation() a aruncat anterior incorect java.lang.ArrayStoreException când adnotarea avea o valoare de matrice care face referire la o clasă lipsă. În Java 11, acest apel are ca rezultat a java.lang.TypeNotPresentException când adnotarea are o valoare de matrice care face referire la o clasă lipsă. Evaluaţi logica în blocul dumneavoastră catch pentru a vedea dacă trebuie să trataţi de asemenea TypeNotPresentException sau un tip de excepţie de runtime mai general.

Această regulă semnalează apelurile către java.lang.Class.getAnnotation() metoda când apelul de metodă este înconjurat de a try declarație cu a catch clauza pentru ArrayStoreException.

Această regulă are o remediere automată de înlocuit ArrayStoreException cu TypeNotPresentException in try/catch using Class.getAnnotation(). Copiați configurația personalizată în fișierul de compilare a aplicației pentru a activa automatizarea corecției.

Pentru Javadoc-ul de clasă, vedeţi Class. Pentru informaţii suplimentare despre modificările din Java SE 11, vedeţi Removed Features and Options in JDK 11.