呼叫 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 在嘗試/捕獲中使用 Class.getAnnotation()。將自訂配置複製到應用程式建置檔案以啟用修復自動化。

對於類別 Javadoc,請參閱 類別。 如需 Java SE 11 變更的相關資訊,請參閱 JDK 11 中已移除的特性及選項