4 min de lectura

En la programación no todo resulta ser miel sobre hojuelas cuando de tiempo de ejecución se trata, y es que muchas veces la implementación de algoritmos debe tener en cuenta el aspecto.. “¿Y si no?” de la programación.

En los programas ocurren errores sin embargo algunos lenguajes ofrecen técnicas para manejar estos errores o eventos que suceden de manera inesperada, de aquí surge el término excepción.

El manejo de excepciones en JavaScript controla dichas excepciones al codificar las aplicaciones web de una manera muy similar a otros lenguajes.

Usando try-catch-finally

El bloque try-catch-finally tiene la finalidad de declarar de manera anticipada las excepciones que pudieran surgir en el tiempo de ejecución y los scripts puedan actuar sobre ellas sin llegar a los mecanismo de detección de errores propios de los navegadores.

La sintaxis se conforma de la siguiente manera:

Ejemplo:

Humor Try…Catch

Usando sentencia Throw

Cuando se produce un error, JavaScript se detiene y genera un mensaje de error. El término técnico para esto es: JavaScript  tira una excepción, la denominada sentencia throw.

La sentencia throw permite crear un error personalizado para lanzar a una excepción que puede ser una cadena JavaScript, un número, un booleano o un objeto, aunque lo más adecuado sería un objeto de tipo error, pero este tipo de objeto tiene propiedades que no están soportadas en todos lo navegadores.

Los siguientes ejemplos lanzan una excepción:

Usando el objeto Error

Cada vez que se lanza una excepción se crea una instancia del objeto error. Las propiedades de la instancia de objeto de error contienen información acerca de la naturaleza del error de manera que los bloques catch puedan inspeccionarlo.

Propiedades

Error.constructor
Especifica la función que crea un prototipo de un objeto.
Error.description
Descripción o mensaje (IE solamente).
Error.fileName
Ruta al archivo que arrojó este error (Mozilla solamente).
Error.lineNumber
Número de línea en el archivo que levantó este error (Mozilla solamente).
Error.message
Mensaje del error.
Error.name
Nombre del error.
Error.number
Número de error (IE solamente).
Error.prototype
Permite la adición de propiedades a un objeto Error.

Los objetos Error también se pueden crear o generar con la instrucción throw y se les puede agregar cualquier propiedad  para expandir la capacidad del objeto Error.

Normalmente, la variable local que se crea en una instrucción try…catch hace referencia al objeto Error creado implícitamente. Como consecuencia, puede utilizar el número y la descripción del error como prefiera.

Existen otros seis tipos de error en JavaScript:

EvalError
Lanzado cuando un error ocurre al ejecutar código en eval()
RangeError
Lanzado cuando una variable numérica o un parámetro se encuentra fuera de su rango válido
ReferenceError
Lanzado cuando se referencia una referencia no válida
SyntaxError
Lanzado cuando ocurre un error de sintaxis mientras se traduce (parsea) código en eval()
TypeError
Lanzado cuando una variable o un parámetro no es del tipo válido
URIError
Lanzado cuando encodeURI() o decodeURI() se le pasan parámetros no válidos

En el siguiente repositorio podrás encontrar ejemplos de código utilizando estas técnicas de manejo de excepciones.

Ejemplos de Manejo de Excepciones con JavaScript (GitHub)

Para saber más:

Mozilla Developer Network: try…catch 

JavaScript Tutorial: Exceptions

W3Schools: JavaScript Errors – Throw and Try to Catch

3 COMENTARIOS

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.