avoid_ catches_ without_ on_ clauses
Saiba mais sobre a regra de lint avoid_catches_without_on_clauses.
Evite catch sem cláusulas on.
Detalhes
#Do Effective Dart:
EVITE usar catch sem cláusulas on.
Usar cláusulas catch sem on torna seu código propenso a encontrar erros
inesperados que não serão lançados e, por isso, podem passar despercebidos.
RUIM:
try {
somethingRisky()
} catch(e) {
doSomething(e);
}
BOM:
try {
somethingRisky()
} on Exception catch(e) {
doSomething(e);
}
Alguns casos excepcionais são permitidos:
- Se o corpo do catch relançar a exceção.
-
Se a exceção capturada for "usada diretamente" em um argumento de
Future.error,Completer.completeError, ouFlutterError.reportError, ou em qualquer função com tipo de retornoNever. - Se a exceção capturada for "usada diretamente" em uma nova expressão throw.
Nesses casos, "usada diretamente" significa que a exceção é referenciada dentro do código relevante (como dentro de um argumento). Se a variável de exceção for referenciada antes do código relevante, por exemplo para instanciar uma exceção encapsulada, a variável não é "usada diretamente".
Ativar
#
Para ativar a regra avoid_catches_without_on_clauses, adicione avoid_catches_without_on_clauses
em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- avoid_catches_without_on_clauses
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione avoid_catches_without_on_clauses: true em linter > rules:
linter:
rules:
avoid_catches_without_on_clauses: 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ê.