avoid_catching_errors 린트 규칙: Error 또는 그 구현 타입을 명시적으로 잡지 않기

avoid_catching_errors 린트 규칙: Error 또는 그 구현 타입을 명시적으로 잡지 않기

ErrorException과 달리 런타임 전에 분석하고 예방할 수 있는 문제예요. 그래서 런타임에 Error를 잡아야 할 일은 거의 없어요. 이 린트 규칙은 Error나 그 타입을 명시적으로 잡는 코드를 찾아내서 알려줘요.

출처: avoid_catching_errors

본문

설명

Error나 그것을 구현하는 타입을 명시적으로 잡지 마세요.

ErrorException과 다르게, 런타임 전에 분석하고 예방할 수 있어요. 런타임에 오류를 잡아야 할 일은 거의 없어야 해요.

BAD:

try {
  somethingRisky();
} on Error catch(e) {
  doSomething(e);
}

GOOD:

try {
  somethingRisky();
} on Exception catch(e) {
  doSomething(e);
}

활성화 방법

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

linter:
  rules:
    - avoid_catching_errors

대신 YAML 맵 문법을 사용해서 린트 규칙을 설정하고 있다면, linter > rules 아래에 avoid_catching_errors: true를 추가하면 돼요.

linter:
  rules:
    avoid_catching_errors: true

더 알아보기