empty_catches 린트 규칙

empty_catches 린트 규칙

빈 catch 블록을 피하도록 안내하는 린트 규칙이에요.

출처: empty_catches

본문

빈 catch 블록은 피하는 게 좋아요. 만약 빈 catch 블록을 의도적으로 써야 한다면, 왜 예외를 잡고 조용히 넘기는지 설명하는 주석을 반드시 남겨야 해요. 또는 예외 식별자를 밑줄(_)로 이름 짓는 방법도 있어요. 그러면 의도적으로 건너뛰려는 것임을 나타낼 수 있거든요.

나쁜 예

try {
  ...
} catch(exception) { }

catch(exception) 블록이 완전히 비어 있네요. 예외를 잡고 아무것도 하지 않고 있어요.

좋은 예

try {
  ...
} catch(e) {
  // ignored, really.
}

// Alternatively:
try {
  ...
} catch(_) { }

// Better still:
try {
  ...
} catch(e) {
  doSomething(e);
}

주석으로 무시하는 이유를 설명하거나, catch(_)처럼 밑줄로 이름 지어 의도를 명확히 하거나, 아니면 doSomething(e)처럼 예외를 실제로 처리하는 게 좋아요.

활성화 방법

이 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 empty_catches을 추가하면 돼요.

linter:
  rules:
    - empty_catches

linter > rules를 YAML map 문법으로 작성한다면 empty_catches: true처럼 불리언 값을 지정해도 되고요.

linter:
  rules:
    empty_catches: true

더 알아보기

예외 처리 패턴에 대해 더 알고 싶다면 Dart의 예외 처리 문서를 참고해 보세요. 린트 규칙 전체 목록은 공식 Linter rules 문서에서 확인할 수 있어요.