Java Exceptions


exception-hierarchy-in-java

 

 

Los programadores de cualquier lenguaje se esfuerzan por escribir programas libres de errores, sin embargo, es muy difícil que los programas reales se vean libres de ellos.

En Java las situaciones que pueden provocar un fallo en el programa se denominan excepciones.

Java lanza una excepción en respuesta a una situación poco usual. El programador también puede lanzar sus propias excepciones.

Las excepciones en Java son objetos de clases derivadas de la clase base Exception.

Existe toda una jerarquía de clases derivada de la clase base Exception. Estas clases derivadas se ubican en dos grupos principales:

Las excepciones en tiempo de ejecución ocurren cuando el programador no ha tenido cuidado al escribir su código.

Por ejemplo, cuando se sobrepasa la dimensión de un array se lanza una excepción ArrayIndexOutOfBounds.

Cuando se hace uso de una referencia a un objeto que no ha sido creado se lanza la excepción NullPointerException.

Estas excepciones le indican al programador que tipos de fallos tiene el programa y que debe arreglarlo antes de proseguir.

El segundo grupo de excepciones, es el más interesante, ya que indican que ha sucedido algo inesperado o fuera de control.

Manejando varias excepciones

public class ExcepcionApp {
    public static void main(String[] args) {
        String str1="12";
	String str2="0";
        String respuesta;
	int numerador, denominador, cociente;
        try{
            numerador=Integer.parseInt(str1);
            denominador=Integer.parseInt(str2);
            cociente=numerador/denominador;
            respuesta=String.valueOf(cociente);
        }catch(NumberFormatException ex){
            respuesta="Se han introducido caracteres no numéricos";
        }catch(ArithmeticException ex){
            respuesta="División entre cero";
        }
        System.out.println(respuesta);
    }
}

Como vemos las sentencias susceptibles de lanzar una excepción se sitúan en un bloque trycatch. Si el denominador es cero,

se produce una excepción de la clase ArithmeticException en la expresión que halla el cociente, que es inmediatamente capturada en el bloque catch

que maneja dicha excepción, ejecutándose las sentencias que hay en dicho bloque. En este caso se guarda en el string respuesta el texto “División entre cero”.

Anuncios

Publicado el 20 octubre, 2014 en Acceso a Datos en Java. Añade a favoritos el enlace permanente. Comentarios desactivados en Java Exceptions.

Los comentarios están cerrados.

A %d blogueros les gusta esto: