throw_ in_ finally
Saiba mais sobre a regra de lint throw_in_finally.
Evite throw em bloco finally.
Detalhes
#EVITE lançar exceções em blocos finally.
Lançar exceções em blocos finally inevitavelmente causará comportamentos inesperados que são
difíceis de depurar.
RUIM:
class BadThrow {
double nonCompliantMethod() {
try {
print('hello world! ${1 / 0}');
} catch (e) {
print(e);
} finally {
throw 'Find the hidden error :P'; // LINT
}
}
}
BOM:
class Ok {
double compliantMethod() {
var i = 5;
try {
i = 1 / 0;
} catch (e) {
print(e); // OK
}
return i;
}
}
Ativar
#
Para ativar a regra throw_in_finally, adicione throw_in_finally em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- throw_in_finally
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione throw_in_finally: true em linter > rules:
linter:
rules:
throw_in_finally: true
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ê.