调用 Class.getAnnotation() 方法时出现的异常的行为更改

当注释包含一个引用缺少类的数组值时,java.lang.Class.getAnnotation() 方法以前抛出不正确的 java.lang.ArrayStoreException。在 Java 11 中,当注释包含一个引用缺少类的数组值时,此调用将产生 java.lang.TypeNotPresentException。评估 catch 块中的逻辑,以了解是否还需要处理 TypeNotPresentException 或更常规的运行时异常类型。

当方法调用被含有 catch 子句(针对 ArrayStoreException)的 try 语句围绕时,此规则将标记对 java.lang.Class.getAnnotation() 方法的调用。

要了解 Javadoc 类,请参阅 Class。 有关 Java SE 11 更改的更多信息,请参阅 Removed Features and Options in JDK 11