Para todos los fans de Java ¿Qué es lo que pasa con las siguientes porciones código? ¿por qué?

java:
public class A
{
        public static void main(String args[])
        {
                int y;
                try
                {
                        y = 0 / 0;
                }
                catch (Exception ex)
                {
                        y = 0 / 0;
                }
                finally
                {
                        System.out.println("Finally");
                }       
        }
}
java:
public class A
{
        public static void main(String args[])
        {
                double y;
                try
                {
                        y = 0 / 0;
                }
                catch (Exception ex)
                {
                        y = 0 / (float) 0;

                }
                finally
                {
                        System.out.println("Finally");
                }       
        }
}

Posibles respuestas

  • Lanza una excepción del tipo ArithmeticException.
  • Lanza una excepción del tipo ArithmeticException y escribe "Finally"
  • Escribe "Finally" y lanza una excepción del tipo ArithmeticException.
  • Sólo escribe "Finally"