Ir al contenido principal

Exception vs error

En programación el concepto de “Exception” y “Error” son diferentes.

  • Una excepción se podría considerar un tipo de “comportamiento inesperado”: Se puede atrapar para aplicar una estrategia de recuperación (guardar los datos de tu usuario antes de morir mostrando un mensaje de lo ocurrido). La excepción se utiliza cuando no puedes predecir o verificar con anticipación que un recurso existe o este disponible, pero que no es fatal. El ejemplo más usado, es cuando quieres leer un archivo de la computadora de tu usuario: En tiempo de desarrollo no puedes prevenir este comportamiento inesperado (es algo excepcional), pero no es fatal; basta con notificarle al usuario que “el archivo no existe y que intente cargar otro”. Esto causará que tu programa se recupere y le notifique al usuario.
  • Un error es un evento inesperado que no se puede atrapar por la fatalidad del mismo, pues si se atrapa y se deja que el programa continué puedes causarle daños al usuario o a la maquina del mismo. Bien sea que no existe memoria en la computadora o no existe algún recurso necesario para el funcionamiento de tu programa. Es algo que hasta cierto punto es obligatorio y requerido para funcionar correctamente y que no debes permitir que se continué con la ejecución del programa. Esto causará que muera tu programa, no es recuperable.

Existe una brecha entre cuando un programa debe considerar un evento como un Error o una excepción, sin embargo las reglas antes descritas son por lo general las más usadas.

El nombre que se le de a un error y a una excepción dependerá del lenguaje de programación que uses, al final el concepto es el mismo pero el momento en el que ocurra o el nivel de peligrosidad es lo que se usa para nombrar estos conceptos:

  • php: die(error) & Exception
  • java: RunTimeException (error) & CheckedException (Excepción)
  • javascript: Throw new Error (error) & throw “alguna excepción en forma de objeto”

Comentarios