Java 7 이후부터는 여러 예외를 한 번에 catch할 수 있게 되었습니다. 따라서 여러 개의 catch 블록에 동일한 코드가 있는 경우, 가독성을 높이기 위해 하나로 결합하는게 더 낫습니다.
참고: 이 규칙은 프로젝트의 sonar.java.source의 값이 7보다 낮은 경우(java7) 자동으로 비활성화됩니다.
규칙을 어긴 코드
catch (IOException e) {
doCleanup();
logger.log(e);
}
catch (SQLException e) { // 규칙을 어긴 코드
doCleanup();
logger.log(e);
}
catch (TimeoutException e) { // 규칙을 준수한 해결책; block 컨텐츠가 다릅니다
doCleanup();
throw e;
}
규칙을 준수한 해결책
catch (IOException|SQLException e) {
doCleanup();
logger.log(e);
}
catch (TimeoutException e) {
doCleanup();
throw e;
}
If you like SONARKUBE, don’t forget to give me a star.