Pular para o conteúdo principal

dead_code_catch_following_catch

Detalhes sobre o diagnóstico 'dead_code_catch_following_catch' produzido pelo analisador do Dart.

Dead code: Catch clauses after a 'catch (e)' or an 'on Object catch (e)' are never reached.

Descrição

#

O analisador emite este diagnóstico quando é encontrada uma cláusula catch que não pode ser executada porque está depois de uma cláusula catch na forma catch (e) ou on Object catch (e). A primeira cláusula catch que corresponde ao objeto lançado é selecionada, e ambas as formas correspondem a qualquer objeto, então nenhuma cláusula catch que as siga será selecionada.

Exemplo

#

O código a seguir produz este diagnóstico:

dart
void f() {
  try {
    // ...
  } catch (e) {
    // Not reached.
  } on String {
    // ...
  }
}

Correções comuns

#

Se a cláusula deve poder ser selecionada, mova-a para antes da cláusula genérica:

dart
void f() {
  try {
    // ...
  } on String {
    // ...
  } catch (e) {
    // ...
  }
}

Se a cláusula não precisar poder ser selecionada, remova-a:

dart
void f() {
  try {
    // ...
  } catch (e) {
    // ...
  }
}

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ê.