비어 있거나 예외를 무시할 수 있는 catch 블록을 보고합니다.

의도된 경우도 있으나 빈 catch 블록은 디버그 작업을 복잡하게 만들 수 있습니다. 또한 catch 매개변수를 무시하는 것은 잘못된 코드일 수 있습니다. 마지막으로, 정적 코드 분석자는 catch 블록이 NullPointerException과 같은 중요한 VM 예외를 확인 없이 무시하는 것을 탐지하는 경우 보고합니다. 그러한 예외를 (기록하거나 다시 던지지 않고) 무시하면 버그가 숨겨집니다.

이 검사는 ignore 또는ignored라는 이름의 catch 매개변수를 보고하지 않습니다. 반대로 이 검사는 ignore 또는 ignored라는 이름의 catch 매개변수가 실제로 사용 중인 경우에 대해 경고합니다. 또한 이 검사는 이름이 expected 또는 ok인 테스트 소스 내 catch 매개변수를 보고하지 않습니다.

예외 이름을 ignored로 변경하는 빠른 수정을 사용할 수 있습니다. 빈 catch 블록에 대해서는 catch 본문을 생성하는 추가적인 빠른 수정이 제안됩니다. 설정 | 에디터 | 파일 및 코드 템플릿의 코드 탭에서 'Catch Statement Body' 템플릿을 수정할 수 있습니다.

예:


  try {
    throwingMethod();
  } catch (IOException ex) {

  }

빠른 수정을 적용한 후:


  try {
    System.out.println(System.in.read());
  } catch (IOException ignored) {

  }

검사 구성:

2018.1의 새로운 기능