Viselkedésváltozás a kivételekben a Class.getAnnotation() módszer meghívásakor

A java.lang.Class.getAnnotation() módszer korábban a helytelen java.lang.ArrayStoreException kivételt dobta, amikor az annotáció értéke egy tömb volt, amely egy hiányzó osztályra mutató hivatkozást tartalmazott. A Java 11 változatban ez a hívás egy java.lang.TypeNotPresentException kivételt eredményez, ha az annotáció értéke egy tömb, amely egy hiányzó osztályra mutató hivatkozást tartalmaz. Értékelje ki a catch blokkjában lévő logikát, hogy lássa, kell-e kezelnie a TypeNotPresentException kivételt vagy egy általánosabb futási kivételtípust.

Ez a szabály megjelöli a java.lang.Class.getAnnotation() módszerre mutató hívásokat, amikor a módszerhívást egy try utasítás veszi körül, amely tartalmaz egy catch részkifejezést az ArrayStoreException kivételhez.

Az osztály Javadoc dokumentációjáért tekintse meg az osztály leírását. A Java SE 11 változásaival kapcsolatos további információkért lásd: Eltávolított szolgáltatások és beállítások a JDK 11 változatban.