Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: tratando exceções em outros contextos = formatação inválida

  _getAllAccounts() async {
    try {
    List<Account> listAccounts = await _accountService.getAll();
    print(listAccounts);
  } on DioException catch (dioException) {
    print("------------------------------------------------");
    print("\n Erro ao buscar contas:");

  // Diferentes tipos de erros
  if (dioException.type == DioExceptionType.connectionError) {
    // Verifica se é erro de DNS (URL incorreta)
    if (dioException.message?.contains('Failed host lookup') ?? false) {
      print(" URL incorreta ou servidor indisponível.");
      print(" Verifique o endereço e tente novamente.");
    } else {
      print(" Sem conexão com a internet.");
      print(" Verifique sua conexão e tente novamente.");
    }
  } else {
    print(" ${dioException.message}");
  }

  print("------------------------------------------------");
  print("");
  } on TypeError {
    print("------------------------------------------------");
    print("\n Erro de formatação:");
    print("Os dados recebidos não estão no formato esperado.");
    print("O servidor pode estar retornando HTML ao invés de JSON.");
    print("------------------------------------------------");
    print("");
  } on Exception catch (e) {
    print("\nNão consegui recuperar os dados da conta.");
    print("Erro: $e");
    print("");
  } finally {
    print("${DateTime.now()} | Ocorreu uma tentativa de consulta.\n");
  }
  }

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

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta
solução!

Olá, José, como vai?

O fluxo que você montou para capturar exceções do Dio está coerente, cobrindo os cenários pedidos no desafio e organizando cada tipo de falha em seu bloco adequado. O tratamento de erros ligados à conexão, formatação e exceções genéricas está bem distribuído, o que deixa o método claro e direto.

Você avançou de forma sólida no desafio e demonstrou boa compreensão do fluxo de exceções do Dio. Continue compartilhando seu progresso no fórum, ele está à disposição.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!