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.
Veamos en el siguiente ejemplo un caso básico donde resolvemos un problema con excepciones y sin ellas:
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:
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.