Buenas:
Estoy haciendo pruebas del Try y Catch. Se trata de que detecte los errores InputMismatchException por si pongo alguna letra en vez de un número en una división y ArithmeticException por si intento dividir por cero pero no pasa nada.
El código que he hecho hasta ahora es este.
 try{
        double resultado;
        Scanner teclado=new Scanner(System.in); 
        System.out.println("Introduce un numerador: ");
        double numerador = teclado.nextDouble();
        System.out.println("Introduce un denominador: ");
        double denominador = teclado.nextDouble(); 
        resultado = numerador / denominador; 
        System.out.println("El numerador " + numerador + " entre el denominador "
                + denominador + " es: " + resultado); 
        }
        
        catch (InputMismatchException e){
            System.out.println("Haz introducido algún carácter. \n");
        }
        catch (ArithmeticException d){
            System.out.println("No puedes dividir por cero.\n");
            }
        }
Por si acaso, he puesto estos import.
import java.io.*;
import java.util.*;
import java.lang.Exception;
import java.lang.Error;
;)
			
			
			
				Hola. Prueba a poner numerador y denominador como integers. La división por 0 debería dar infinito, pero no se puede representar infinito en integer, por eso salta la ArithmeticException.  En cambio en coma flotante si se puede representar y por eso te funciona.