Blog
Lanzar y capturar excepciones en Java
Las excepciones se pueden encontrar en la mayoría de los lenguajes de programación y sirven para indicar que un problema ocurre durante la ejecución de un programa informático.
El manejo de excepciones permite al programador crear aplicaciones sin fallas visibles para el usuario final. En Java existen dos tipos de excepciones: las de tiempo de compilación (se deben controlar antes de ejecutar el programa) y las de tiempo de ejecución (ocurren una vez que la aplicación se está ejecutando y no es obligatorio controlarlas).
Tendiendo en cuenta la importancia de este tema, en este tutorial aprenderemos a lanzar y capturar excepciones en Java.
Cómo lanzar y capturar excepciones en Java
Para lanzar una excepción en tiempo de ejecución vamos a utilizar la palabra clave throw junto a una instancia de la excepción que queremos lanzar. En el siguiente ejemplo vamos a crear una clase “Persona” con el método “setEdad” el cual solamente puede recibir por parámetro un número positivo, de lo contrario se va a lanzar una excepción.
public class Persona { private int edad; public int getEdad() { return this.edad; } public void setEdad(int edad) { if (edad <= 0) throw new RuntimeException("La edad debe ser positiva"); this.edad = edad; } }
Si ejecutamos el siguiente código, donde creamos una persona y le establecemos la edad en -10, nuestro programa va a terminar su ejecución con la excepción RuntimeException:
public static void main(String[] args) { Persona persona = new Persona(); persona.setEdad(-10); }
Para que nuestro programa no termine su ejecución con un error vamos a controlar la excepción utilizando un try catch:
public static void main(String[] args) { try { Persona persona = new Persona(); persona.setEdad(-10); } catch (RuntimeException e) { System.out.println(e.getMessage()); } }
Dentro del bloque try vamos a incluir el código que puede lanzar la excepción, mientras que dentro del catch vamos a manejar la posible excepcion lanzada dentro del try, en nuestro caso simplemente vamos a mostrar el mensaje (“La edad debe ser positiva”) de error que nos proporciona la excepción.
Si en lugar de lanzar una excepción en tiempo de ejecución lo queremos hacer en tiempo de compilación debemos utilizar una instancia de la clase Exception, pero con la diferencia de que en el método “setEdad” debemos indicar que ese método puede lanzar esa excepción, eso se puede hacer con la palabra clave throws como se muestra en el siguiente ejemplo:
public void setEdad(int edad) throws Exception { if (edad <= 0) throw new Exception("La edad debe ser positiva."); this.edad = edad; }
Ahora si creamos una persona y le establecemos una edad, estamos obligados a manejar la excepción, de lo contrario no vamos a poder ejecutar nuestro programa:
public static void main(String[] args) { try { Persona persona = new Persona(); persona.setEdad(-10); } catch (Exception e) { System.out.println(e.getMessage()); } }
Bueno gente, eso es todo los básico que se tiene que tener en cuenta a la hora de lanzar y capturar excepciones en Java, espero que les sea de gran utilidad y ante cualquier inconveniente no duden en dejar un comentario.
Gracias amigo por esta info me está ayudando mucho en mi curso de POO en java, éxitos.