Panama Hitek Logo
Panama Hitek Logo

Gestión de excepciones en Java

La gestión de excepciones en Java se da a través de la estructura Try Catch, donde se intenta ejecutar un código y se atrapan los errores que se pueden producir durante su ejecución. En teoría de la programación, existen diferentes tipos de errores, entre los que podemos mencionar errores de compilación, errores en tiempo de ejecución, errores de sintaxis, entre otros.

Los errores que trataremos en este post son los errores en tiempo de ejecución. Supongamos que tenemos un programa con un algoritmo matemático con una serie de operaciones que al final arrojan un resultado. Sin embargo, si a la mitad del proceso, por ejemplo, se presenta algo que es matemáticamente imposible, como una división entre 0 o algo por el estilo, entonces nos encontraremos un problema. La ejecución del problema se verá afectada y si ciertas operaciones dependen del resultado de esa división entre 0, toda la ejecución se estropeará dejando el programa inservible.

Existe una manera en la cual podemos evitar esto. La estructura Try Catch es capaz de encerrar el segmento del código que podría causar un excepción. Si se produce un error, el Catch «atrapa» el la excepción y ejecuta una acción determinada. El código se detiene en ese punto y cancela todas las acciones. Con esta estructura no será necesario detener y reiniciar la ejecución del programa.

Una experiencia práctica

Lo que haremos es crear un interfaz en donde enviamos un número cualquiera y Java se encarga de verificar si la cantidad introducida en efecto un número o una letra o símbolo. Si no es un número, se arrojará un error y la ejecución se detendrá.

Crearemos un proyecto nuevo con una interfaz sencilla, con 2 botones (Enviar y Reset), un jLabel y un jTextBox. Ahora programaremos los botones. Empezaré con el botón Reset que es el que menos comandos necesita.

gestion de excepciones en java

Con esto lo que haremos es que cuando se presiona el botón Reset, se limpia el campo de texto y se limpia la etiqueta.  Ahora programaremos el botón enviar.Primero habilitaremos los botones:

Ahora creamos una variable que guardará el mensaje.

Se aquí en adelante es cuando se puede producir algún error. Es hora de abrir el Try Catch. (Les recomiendo consultar el post de abreviaturas en Netbeans. Si escribimos trycatch y presionamos TAB entonces se crea una estructura por sí sola).

Entre las llaves del try se escribe el código de nuestro programa. En las llaves del Catch se escribe la acción que se va a ejecutar si se produce algún tipo de error.

Lo que haremos es convertir el String del campo de texto a número, a través del Integer.parseInt. Si este comando detecta un caracter no numérico, se arrojará un error.

En el código de error lo que haremos será llamar un JOptionPanel que desplegará un mensaje en pantalla indicándole al usuario que el programa sólo acepta valores numéricos.

Ahora veamos como queda la estructura completa:

Netbeans

Ahora le agregaremos un par de funcionalidades. Limitaremos los números para evitar que sobrepasen ciertos límites. Supongamos que lo que vamos a recoger es la edad de una persona. No podemos permitir que se introduzca un número negativo.

Tampoco dejaremos que el número sea mayor a 120, ya que actualmente no hay personas con más de 120 años y dudo que alguna vez alguna persona de tal edad vaya a utilizar este software.

Lanzaremos 2 excepciones:

Es necesario colocar otro catch que atrape estos 2 errores.

Con esto estamos listos. El código completo luce así:

Netbeans

Estamos listos para probar el funcionamiento de nuestro programa. Primero comprobaremos lo que sucede con este programa sin el trycatch y luego veremos la diferencia con la gestión de excepciones.

[youtube https://www.youtube.com/watch?v=DG_3A3jIe5c]

Espero sus comentarios. Saludos.

Antony García González
Antony García González
Ingeniero Electromecánico, egresado de la Universidad Tecnológica de Panamá. Miembro fundador de Panama Hitek. Entusiasta de la electrónica y la programación.

Posts relacionados

1 COMENTARIO

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Post relacionados