Catch 블락은 가능한 결합 되어야 합니다

 

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. :star2:

원문으로 바로가기

Star This Project