Olá, Nataly, como vai?
No Dart, tentar dividir um número por zero em operações com inteiros resulta em uma exceção. Isso "quebra" a execução do seu programa se não for tratado.
int numerador = 10;
int denominador = 0;
int resultado = numerador ~/ denominador; // O operador ~/ é para divisão inteira
print(resultado);
Já se você estiver trabalhando com números de ponto flutuante, como double
, a divisão por zero não lança uma exceção, mas sim retorna um valor especial: Infinity
(Infinito).
double numeradorDouble = 10.0;
double denominadorDouble = 0.0;
double resultadoDouble = numeradorDouble / denominadorDouble;
print(resultadoDouble); // A saída será Infinity
Para evitar que seu programa pare ou retorne um valor inesperado, é fundamental realizar validações antes da operação. A maneira mais comum é verificar se o denominador é zero, como você bem mencionou, e só realizar a divisão se ele for diferente de zero.
int numerador = 10;
int denominador = 0;
if (denominador != 0) {
int resultado = numerador ~/ denominador;
print("O resultado é: $resultado");
} else {
print("Erro: Divisão por zero não é permitida");
}
Espero ter ajudado.
Siga firme nos seus estudos e conte com o fórum sempre que precisar.
Abraços :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado