Cargando



Manejo de excepciones en Java

En este tutorial veremos un poco más a fondo el tema de las excepciones en Java y como hacer el manejo de las mismas dentro de nuestros programas.


ago 29 2014 04:34
Avanzado
ago 29 2014 21:36
Todos los programas son propensos a errores, esto es inevitable ya que por más vueltas que le demos siempre puede ocurrir algo que rompa el flujo de nuestra aplicación, cuando un error ocurre debemos buscar la manera más elegante de hacerlo saber al usuario sin comprometer información privada de nuestro entorno.

Para estos casos tenemos las excepciones, estos son objetos que se construyen y se levantan cuando ocurre algún error que impide el funcionamiento normal de la aplicación, esto nos da la oportunidad de manejar el mismo y evitar que el programa finalice de manera inesperada, pudiendo así dar un mensaje más elegante al usuario.

Manejo de excepciones


Como indicamos las excepciones son objetos que se levantan cuando ocurre un error en la ejecución de nuestro programa, si no las manejamos adecuadamente el mismo finalizará de forma inesperada mostrando el error por el cual falló.

Manejo de la excepción
Para poder controlar esto debemos hacer un manejo de la excepción, esto involucra capturar el objeto y correr alguna instrucción en específico, para ello contamos con una estructura en Java llamada el bloque try{}catch(tipo de excepción){} con el cual podemos evaluar una instrucción y si ocurre una excepción capturarla y ejecutar un código alternativo.


Hay ocasiones también en las que somos nosotros voluntariamente quienes debemos levantar la excepción, ya sea como parte de una depuración del programa o porque dentro de nuestra lógica de desarrollo queremos arrojar una excepción si ocurre alguna combinación de condiciones, para ello tenemos el método throw() que viene del inglés arrojar.

Veamos a continuación la estructura completa que podemos utilizar para poner en práctica lo mencionado:

try {
//aquí va el código a intentar ejecutar
//aquí podemos lanzar una excepción con el método throw de querer
}
catch (tipoExcepción ex) {
//una vez capturada la excepción aquí va el código que seguirá ejecutándose
}

Como vemos la estructura no implica nada que no podamos entender, veamos un ejemplo más a profundidad.

Ejemplo práctico


Vamos ahora a realizar un programa que haga la división de dos números enteros, como debemos saber, si hacemos una división de un número entero entre cero 0 va a ocurrir un error, en este caso una excepción del tipo aritmética, la cual vamos a atrapar y evitar que nuestro programa falle terriblemente. Veamos el código a utilizar:

import java.util.Scanner;
public class DivisionExcepcion {
public static int quotient(int numero1, int numero2) {
if (numero2 == 0)
throw new ArithmeticException("El divisor no puede ser 0");
return numero1 / numero2;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Ingrese dos numeros enteros: ");
int numero1 = input.nextInt();
int numero2 = input.nextInt();		 	
try {
int result = quotient(numero1, numero2);
System.out.println(numero1 + " / " + numero2 + " es "+ result);
}
catch (ArithmeticException ex) {
System.out.println("Excepcion:un entero " + " no puede ser divido entre 0");
}
System.out.println("Aqui sigue nuestro programa");
}
}


Notamos que la excepción la arrojamos con el método throw dentro de un método personalizado que hace la división de los números enteros, luego este método lo llamamos dentro de nuestro bloque try y finalmente si la excepción ocurre la capturamos y mostramos el error necesario y luego podemos continuar con nuestro programa. Veamos como luce en nuestra consola:


Con esto finalizamos nuestro tutorial habiendo demostrado efectivamente como podemos manejar de forma básica las excepciones evitando así que un error fatal destruya el flujo de nuestro programa.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X