Cargando



Costo de las excepciones en Java

En este tutorial evaluaremos un poco el costo de manejar las excepciones en nuestros programas o aplicaciones y que cosas debemos tener en cuenta cuando lo hacemos.


sep 12 2014 05:15
Avanzado
sep 13 2014 18:02
Si bien el uso de excepciones representa una mejora en nuestros programas escritos en Java, no siempre van a ser requeridas ya que poseen un costo a nivel de rendimiento muy importante, es por ello que debemos aprender lo que implica construir un bloque de manejo de excepciones en nuestro programa, de esta manera podremos saber si el costo es menor que el beneficio que nos traerá.

A fin de cuentas sabemos que nuestros programas también deben mantener un rendimiento adecuado, ya que un programa o aplicación que sufra de lentitud es menos amigable en su uso, creando incomodidades en los usuarios.

¿Cuándo debemos utilizar excepciones?


Como indicábamos al inicio, el construir un bloque que tenga la capacidad de manejar excepciones representa un costo a nivel de rendimiento en nuestro programa, esto se debe a que cuando tenemos un bloque de manejo de excepciones se genera un objeto para esta tarea, también se tiene que hacer una corrida hacia atrás del stack del programa y finalmente se debe propagar la excepción a través de varios métodos del objeto.

Esto hace ver muy claro que el rendimiento se verá afectado, ya que por más recursos que tengamos este proceso va a consumir una gran parte de ellos, las excepciones ocurren cuando las lanzamos en un método, por lo tanto si podemos evitar que la excepción sea arrojada nos ahorraremos todo este procedimiento.

Uso de excepciones
Las excepciones deben ser utilizadas realmente cuando hay condiciones impredecibles que pueden ocurrir y que no podemos prever dentro de nuestro programa, pero casos como por ejemplo una variable vacía o una división entre 0 por poner ejemplos básicos pueden ser manejados sin la necesidad de emplear un bloque try – catch.


Veamos en el siguiente ejemplo un caso básico donde resolvemos un problema con excepciones y sin ellas:

java_costo_excepciones.jpg


En este primer caso vemos como intentamos imprimir una variable que estamos llevando a String, si esta es null va a ocurrir un problema, por lo tanto la colocamos en un try – catch y así nuestro programa no debería cerrarse de forma abrupta, sin embargo este problema es muy sencillo por lo tanto, utilizar un bloque de manejo de excepciones nos va a generar un costo mayor que el problema que intenta resolver. Veamos cómo podemos manejar esto de otra forma:


java_costo_excepciones2.jpg


Aquí podemos observar cómo hemos salido del problema simplemente preguntando antes de hacer la impresión si la variable no es null, en caso que lo sea imprimimos un mensaje indicándolo y así evitamos que ocurra una excepción al intentar convertirla a String.

Si bien estos casos son extremadamente simples, el hecho es que decidir cuándo utilizar el manejo de excepciones y cuando no, es cuestión de cada programador, sin embargo al querer implementarlas debemos preguntarnos si podemos evitar que ocurra utilizando nuestra lógica, al fin y al cabo cada programador tiene una idea diferente.

Con esto finalizamos este tutorial, ya debemos tener una idea más clara de lo que significa el uso de las excepciones y su impacto real en nuestros programas, ya que a pesar que nos pueden ayudar, también pueden perjudicar el rendimiento si abusamos en muchas situaciones de ellas.

¿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