如下情况会造成throws中的异常声明出现重复:

如下代码所示:

void foo() throws MyException, MyException {}  // Non-Compliant - should be listed once
void bar() throws Throwable, Exception {}      // Non-Compliant - Exception is a subclass of Throwable
void baz() throws RuntimeException {}          // Non-Compliant - RuntimeException can always be thrown

应该重构为:

void foo() throws MyException {}               // Compliant
void bar() throws Throwable {}                 // Compliant
void baz() {}                                  // Compliant