Olá Giovanna! Tudo bem?
O resultado inesperado de "8" sugere que pode haver algum problema no ambiente de execução ou em alguma configuração específica. Então, vamos revisar o código e garantir que ele esteja corretamente tratando a exceção de divisão por zero:
Console.Write("digite o dividendo: ");
double a = double.Parse(Console.ReadLine()!);
Console.Write("digite o divisor: ");
double b = double.Parse(Console.ReadLine()!);
try
{
if (b == 0)
{
throw new DivideByZeroException();
}
Console.WriteLine($"resultado: {a / b}");
}
catch (DivideByZeroException)
{
Console.WriteLine("não se pode dividir por zero");
}
Aqui está o que foi alterado:
- Adicionei uma verificação explícita
if (b == 0)
antes de realizar a divisão. Se b
for zero, lançamos manualmente a exceção DivideByZeroException
. - Isso garante que a exceção será capturada e tratada corretamente no bloco
catch
.
Essa abordagem deve resolver o problema que você está enfrentando. Execute o código novamente e veja se a mensagem "não se pode dividir por zero" é exibida corretamente quando o divisor é zero.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.