non_type_in_catch_clause 진단: catch 절의 on 다음에는 타입이 와야 해요

non_type_in_catch_clause 진단: catch 절의 on 다음에는 타입이 와야 해요

Dart 분석기가 만들어 내는 non_type_in_catch_clause 진단에 대한 설명이에요.

출처: non_type_in_catch_clause

본문

catch 절에서 on 다음에 오는 식별자가 타입이 아닌 것으로 정의되어 있을 때 분석기가 이 진단을 만들어요.

설명

on 다음에는 잡아낼 예외 객체의 타입이 와야 해요. 그 자리에 함수나 변수 같은 다른 걸 쓰면 이 진단이 나와요.

예시

다음 코드는 f가 함수이지 타입이 아니기 때문에 이 진단을 만들어요.

void f() {
  try {
    // ...
  } on f {
    // ...
  }
}

흔한 해결 방법

이름을 잡아내야 할 객체의 타입으로 바꿔요.

void f() {
  try {
    // ...
  } on FormatException {
    // ...
  }
}

더 알아보기