body_ might_ complete_ normally_ catch_ error
Detalhes sobre o diagnóstico 'body_might_complete_normally_catch_error' produzido pelo analisador do Dart.
This 'onError' handler must return a value assignable to '{0}', but ends without returning a value.
Descrição
#
O analisador emite este diagnóstico quando a closure passada para o parâmetro onError do método
Future.catchError precisa retornar um valor não nulo (por causa do argumento de tipo do
Future), mas pode retornar null implicitamente.
Exemplo
#
O código a seguir produz este diagnóstico porque a closure passada para o método catchError
precisa retornar um int, mas não termina com um return explícito, fazendo com que retorne
null implicitamente:
void g(Future<int> f) {
f.catchError((e, st) {});
}
Correções comuns
#
Se a closure deve, em alguns casos, retornar um valor não nulo, adicione um return explícito à closure:
void g(Future<int> f) {
f.catchError((e, st) {
return -1;
});
}
Se a closure deve sempre retornar null, altere o argumento de tipo do Future
para void ou Null:
void g(Future<void> f) {
f.catchError((e, st) {});
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.