1
resposta

Como posso corrigir esse erro?

*Parte de erro no terminal

Built dart_application_1:dart_application_1. A Laranja está Verde, então não está madura Unhandled exception: type 'Null' is not a subtype of type 'String' #0 main (file:///C:/Alura/Projetos/dart_application_1/bin/dart_application_1.dart:19:11) #1 _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:297:19) #2 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

Acesse o link do código abaixo https://github.com/Albert0Chan/dart_application_1/commit/e06a88f2565f61d2116061179b8422a092983dd1 Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Alberto!

O erro que você está enfrentando indica que uma variável que você esperava ser uma String está recebendo um valor null. Isso pode acontecer quando você tenta usar uma variável que não foi inicializada ou quando uma função que deveria retornar uma String retorna null.

Vou te dar um exemplo prático de como isso pode acontecer e como você pode corrigir:

String? getTexto() {
  // Suponha que esta função deveria retornar uma String,
  // mas por algum motivo ela retorna null.
  return null;
}

void main() {
  String texto = getTexto(); // Aqui ocorrerá o erro, pois getTexto() é null.
  print(texto);
}

Para corrigir, você pode garantir que a função nunca retorne null ou então você pode checar se o valor é null antes de usá-lo:

String? getTexto() {
  // Corrigimos a função para garantir que ela retorne uma String.
  return 'Algum texto';
}

void main() {
  String? texto = getTexto();
  if (texto != null) {
    print(texto);
  } else {
    print('Texto é null');
  }
}

No seu caso específico, você precisa verificar o arquivo dart_application_1.dart na linha 19, que é onde o erro está ocorrendo. Certifique-se de que qualquer variável que você esteja usando ali não seja null antes de tentar utilizá-la como uma String. Se a variável puder ser null, você pode usar o operador de verificação de nulidade ? para evitar o erro:

String? texto = getTexto();
print(texto ?? 'Valor padrão se texto for null');

Espero ter ajudado e bons estudos!