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 = Sem conexão com a internet;

Arquivo: account_screen.dart

//import 'package:dart_assincronismo/services/account_service.dart';
import 'package:dio/dio.dart';
import 'package:dart_assincronismo/services/account_dio_service.dart';
import 'package:dart_assincronismo/models/account.dart';
//import 'package:http/http.dart';
import 'dart:io';
import 'package:uuid/uuid.dart'; // Importe pacote para geração de códigos aleatórios

class AccountScreen {
//  final AccountService _accountService = AccountService();
final AccountDioService _accountService = AccountDioService();
  final Uuid _uuid = Uuid();


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

    // Aqui vamos tratar os diferentes tipos de erro
    if (dioException.type == DioExceptionType.connectionError) {
      print(" Sem conexão com a internet.");
      print("Verifique sua conexão e tente novamente.");
    } else {
      print(" ${dioException.message}");
    }

    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?

Seu código está coerente com o uso do DioException dentro do método _getAllAccounts. A estrutura de try, on, catch e finally está organizada e já cobre bem o cenário de erro de conexão, além de manter um fallback genérico para outras exceções.

Parabéns por compartilhar seu avanço. Continue trazendo seus desafios, o fórum está à disposição.

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