unawaited_ return_ in_ try_ block
Detalhes sobre o diagnóstico 'unawaited_return_in_try_block' produzido pelo analisador do Dart.
Returning a 'Future' without 'await' inside a try block.
Descrição
#
O analisador produz este diagnóstico quando um Future é retornado de dentro de um bloco
try, em uma função async, sem aguardar o Future retornado com
await.
Exemplo
#
O código a seguir produz este diagnóstico porque o Future retornado por futureString
é retornado sem usar await. Isso pode levar a um comportamento inesperado, porque as exceções lançadas pelo
Future não serão capturadas pelo bloco catch.
Future<String> futureString(Future<String> value) async {
try {
return value;
} catch (e) {
print(e);
return 'default';
}
}
Correções comuns
#Adicione await antes do Future retornado:
Future<String> futureString(Future<String> value) async {
try {
return await value;
} catch (e) {
print(e);
return 'default';
}
}
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ê.