报告那些不声明 CloneNotSupportedExceptionclone() 方法。

如果没有声明CloneNotSupportedException,该方法的子类将不能以标准方式禁止克隆。 此检查不会报告声明为 finalclone() 方法和 final 类内的 clone() 方法。

配置检查:

使用 仅对 'protected' 克隆方法发出警告 选项,表示该检查也应该警告 public clone() 方法。 Effective Java 一书(第二版和第三版)建议在 public 方法上省略 CloneNotSupportedException 声明,因为不抛出检查异常的方法更容易使用。

示例:


  public class Example implements Cloneable {
    // 方法未声明 ’throws CloneNotSupportedException‘
    protected Object clone() {
        try {
            return super.clone();
        } catch (CloneNotSupportedException e) {
            return null;
        }
    }
  }