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

depois da refatorar o catcherror a mensagem de erro não aparece na tela.

 void _save(
      Transaction transactionCreated,
      String password,
      BuildContext context,
      ) async {
    final Transaction? transaction =
    await _webclient.save(transactionCreated, password).catchError((e) {
      showDialog(
          context: context,
          builder: (contextDialog) {
            return FailureDialog(e.message);
          });

    }, test: (e) => e is Exception);

    if (transaction != null) {
      await showDialog(
          context: context,
          builder: (contextDialog) {
            return SuccessDialog('successful transaction');
          });
      Navigator.pop(context);
    }
  }
}
2 respostas
solução!

Olá Alex, como vai?

Comparando seu código com o disponibilizado pelo instrutor, vi que no seu tem o operador ? na hora de declarar a transaction e no do curso não tem:

print do trecho de código disponibilizado pelo aluno que abriu o tópico "final Transaction? transaction

Acredito que isso possa ter a ver com o resultado, já tentou rodar sem o operador? Testa aí e qualquer coisa pode retornar aqui no fórum.

Ahh aqui tem o código completo disponibilizado na aula caso você queira consultar e comparar com o seu também.

Espero que dê certo e bons estudos por aí =)

sem o operador o valor da erro, mas eu já resolvi, é que eu tentei forçar o erro sem estar conectado a web api, por isso não funcionou, mas obrigado por responder.