Pular para o conteúdo principal

missing_enum_constant_in_switch

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

Missing case clause for '{0}'.

Descrição

#

O analisador gera este diagnóstico quando uma instrução switch para um enum não inclui uma opção para um dos valores do enum.

Observe que null é sempre um valor possível para um enum e, portanto, também deve ser tratado.

Exemplo

#

O código a seguir gera este diagnóstico porque o valor de enum e2 não é tratado:

dart
enum E { e1, e2 }
​
void f(E e) {
  switch (e) {
    case E.e1:
      break;
  }
}

Correções comuns

#

Se há um tratamento especial para os valores ausentes, então adicione uma cláusula case para cada um dos valores ausentes:

dart
enum E { e1, e2 }
​
void f(E e) {
  switch (e) {
    case E.e1:
      break;
    case E.e2:
      break;
  }
}

Se os valores ausentes devem ser tratados da mesma forma, então adicione uma cláusula default:

dart
enum E { e1, e2 }
​
void f(E e) {
  switch (e) {
    case E.e1:
      break;
    default:
      break;
  }
}

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