throw_of_invalid_type 진단: 던지는 표현의 타입이 유효하지 않을 때
throw_of_invalid_type 진단: 던지는 표현의 타입이 유효하지 않을 때
분석기가 내보내는 진단에는 이름이 있어요. throw_of_invalid_type은 throw 표현식에 쓰인 expression의 타입이 Object에 할당할 수 없을 때 Dart 분석기가 알려주는 진단이에요. null을 던질 수는 없기 때문에, 평가 결과가 null일 수 있는 표현식도 던질 수 없어요.
본문
설명
분석기는 throw 표현식 안에 있는 expression의 타입이 Object에 할당할 수 없을 때 이 진단을 만들어요. null을 던지는 것은 유효하지 않기 때문에, 평가 결과가 null일 수 있는 표현식을 쓰는 것도 유효하지 않아요.
예시
다음 코드는 s가 null일 수 있기 때문에 이 진단을 만들어요.
void f(String? s) {
throw s;
}
흔한 해결 방법
표현식에 명시적인 null 검사를 붙여요.
void f(String? s) {
throw s!;
}