Errores

Iniciado por Meta, 15 Febrero 2011, 06:14 AM

0 Miembros y 1 Visitante están viendo este tema.

Meta

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.

Código (java) [Seleccionar]
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;


;)
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

ltbl

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.