1
resposta

[Projeto] Desafio: Hora da prática

1

using (HttpClient client = new HttpClient())
{
    try
    {
        string resposta = await client.GetStringAsync("https://www.cheapshark.com/api/1.0/deals");
        Console.WriteLine(resposta);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

2 -

try
{
    Console.Write("Digite o valor de a: ");
    int a = int.Parse(Console.ReadLine());

    Console.Write("Digite o valor de b: ");
    int b = int.Parse(Console.ReadLine());

    int divisao = a / b;
    Console.WriteLine($"Resultado: {divisao}");
}
catch (DivideByZeroException ex)
{
    Console.WriteLine($"Erro: na matemática não é permitida a divisão por 0.");
}

3 -

try
{
    List<int> numeros = new List<int> { 1, 2, 3 };
    Console.WriteLine($"Elemento no índice 5: {numeros[5]}");
}
catch (ArgumentOutOfRangeException ex)
{
    Console.WriteLine($"Erro: {ex.Message}");
}

4 -

try
{
    MinhaClasse objetoNulo = null;
    objetoNulo.Meumetodo();
}
catch (NullReferenceException ex)
{
    Console.WriteLine($"Erro: {ex.Message}");
}
1 resposta

Oi, Matheus! Como vai?

Agradeço por compartilhar.

Achei bem interessante como você tratou diferentes tipos de exceções em cenários variados, desde consumo de API até erros comuns como divisão por zero e acesso indevido a índices. Isso mostra uma boa preocupação com a robustez do código e com possíveis falhas em tempo de execução.

Uma dica interessante para o futuro é utilizar TryParse para evitar exceções ao converter valores digitados pelo usuário. Veja este exemplo:


int numero;
bool sucesso = int.TryParse(Console.ReadLine(), out numero);

if (sucesso)
{
    Console.WriteLine(numero);
}
else
{
    Console.WriteLine("Entrada invalida");
}

Esse código tenta converter o valor sem gerar erro, retornando true ou false dependendo do sucesso da conversão.

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