1
resposta

Resolução

//Exercicio 1:
using (HttpClient client = new HttpClient())
{
    try
    {
        string respota = await client.GetStringAsync("https://www.cheapshark.com/api/1.0/deals");
        Console.WriteLine(respota);
    }
    catch (HttpRequestException e)
    {
        Console.WriteLine($"Request error: {e.Message}");
    }
}
//Exercicio 2:
Console.WriteLine("**** Digite dois valores para A e B ***");

// Leitura do valor A
int A = int.Parse(Console.ReadLine()!);

// Leitura do valor B
int B = int.Parse(Console.ReadLine()!);

try
{
    int resultado = A / B;
    Console.WriteLine($"O resultado de A / B é: {resultado}");
} catch (DivideByZeroException)
{
    Console.WriteLine("Erro: Divisão por zero não é permitida.");
}
// Exercicio 3:
List<int> numeros = new List<int> {1,0,3};

try
{
    numeros[5] = 10;

} catch (ArgumentOutOfRangeException)
{
    Console.WriteLine("Erro: Índice fora do intervalo da lista.");
}
// Exercicio 4:
using Desafios.classes;

Pessoal pessoa = null; // objeto propositalmente nulo

try
{
    pessoa.Saudacoes(); // força a exceção
}
catch (NullReferenceException)
{
    Console.WriteLine("Exceção capturada: objeto pessoa é nulo.");
}

Console.WriteLine("Fluxo do programa continua normalmente.");
1 resposta

Oi, Cristin! Como vai?

Agradeço por compartilhar.

Gostei da sua resolução, do jeito que você explicou o uso de try/catch em diferentes cenários, cobrindo desde requisições com HttpClient até exceções como DivideByZeroException, ArgumentOutOfRangeException e NullReferenceException, o que está bem alinhado com o objetivo do desafio.

Continue praticando esse cuidado com o tratamento de erros, isso deixa o código mais seguro e previsível.

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