Achei interessante que ao realizar a divisão por 0 de dois números double, o retorno é Infinity / - Infinity. Particularmente acho uma solução bastante interessante da linguagem. Para que a divisão retornasse um erro, adicionei explicitamente uma excessão:
public class MainModulo3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("\nExercício 1:");
// Crie um programa simples que solicita dois números ao usuário e realiza a divisão do primeiro pelo segundo.
// Utilize o bloco try/catch para tratar a exceção que pode ocorrer caso o usuário informe 0 como divisor.
double num1 = input.nextDouble();
double num2 = input.nextDouble();
try {
if (num2 == 0) {
throw new ArithmeticException("Divisão por zero não é permitida.");
} else {
double num3 = num1 / num2;
System.out.printf("%.2f dividido por %.2f é %.2f\n", num1, num2, num3);
}
} catch (ArithmeticException e) {
System.err.println("Erro: " + e.getMessage());
}
}
}