Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] A mensagem não está indo pro Dialog

A mensagem de erro não está sendo enviada pro AlertDialog

código conforme a aula

 authService.login(email, password).then(
      (resultLogin) {
        if (resultLogin) {
          Navigator.pushReplacementNamed(context, "home");
        }
      },
    ).catchError(
      (error) {
        var innerError = error as HttpException;
        showExceptionDialog(context, content: innerError.message);
      },
      test: (error) => error is HttpException,

Resultado:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Contudo, o AlertDialog está funcionando, veja: Vou mandar uma String: AGORA APARECE

authService.login(email, password).then(
      (resultLogin) {
        if (resultLogin) {
          Navigator.pushReplacementNamed(context, "home");
        }
      },
    ).catchError(
      (error) {
        var innerError = error as HttpException;
        showExceptionDialog(context, content: "AGORA APARECE");
      },
      test: (error) => error is HttpException,
    );

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Ou seja, a função está correta, o que não está indo é a mensagem do HttpException. Já fiz um runtimetype pra saber se o erro é o HttpException mesmo e é..

Alguém sabe o que está acontecendo?

2 respostas
solução!

Olá, Fernando. Como vai?

Uma possibilidade é que o campo message da HttpException não esteja populado corretamente ou que o cast para HttpException esteja funcionando, mas o valor de innerError.message não contenha a mensagem esperada.

Tenta printar o error no console, e também o innerError.message para sabermos o que pode estar acontecendo.

Fico no aguardo e à disposição

Ola, era um erro em outra classe que estava passando uma String vazia pra exceção ... Já Resolvido. Obrigado pela atenção