⊗jsSpExcInr 137 of 294 menu

Introducción a las situaciones excepcionales en JavaScript

Ahora vamos a considerar las situaciones excepcionales en JavaScript. Para empezar, haré una introducción en la que habrá ejemplos de situaciones excepcionales en general para cualquier lenguaje de programación, y luego veremos cómo es el caso en JavaScript.

Cuando escribimos nuestros programas, implícitamente contamos con que todos los mecanismos técnico-programáticos utilizados por nosotros funcionarán correctamente.

Sin embargo, esto no siempre es así. Durante la transmisión de datos por la red, la conexión se interrumpe y los datos llegán a nosotros de forma incorrecta, o no llegan en absoluto. Al escribir un archivo, resulta que el espacio asignado en el disco duro se ha agotado, y el archivo no puede guardarse. Al leer un archivo, resulta que tal archivo no existe y no tenemos de dónde leer. Al imprimir datos en la impresora, se rompe el cable que conecta la impresora y la computadora.

Todas las situaciones descritas tienen una esencia común: ocurre un fallo que conduce a la imposibilidad o falta de sentido de completar la operación planificada.

También hay situaciones en las que ocurre un error que no es un fallo. Por ejemplo, le pides al usuario su email, y él introduce un email en un formato incorrecto. Está claro que nuestro programa no puede continuar procesando el email, ya que no es correcto. Pero, sin embargo, esto no es una situación excepcional. Nuestro programa puede corregir la situación por sí mismo: mostrará un mensaje de error y el usuario repetirá su entrada.

En realidad, la diferencia entre un fallo y un no fallo es bastante difusa. Un evento que un programa puede interpretar como una situación excepcional, otro programa puede interpretarlo como un error con el que puede lidiar.

El criterio aquí es el siguiente: si al surgir un problema su programa puede continuar haciendo aquello para lo que fue diseñado, entonces no es una situación excepcional, y si no puede, entonces sí, es una excepción.

Por ejemplo, tenemos un programa que debe preguntar el email del usuario. Si el usuario introdujo un email en un formato incorrecto - esto no es un fallo. Es un problema esperado y nuestro programa preguntará al usuario el email tantas veces como sea necesario hasta que lo introduzca correctamente.

Supongamos que nuestro programa, que pregunta el email, también debe enviar este email correcto a través de internet. Y resulta que internet no funciona. Este ya es un problema: el programa de ninguna manera podrá enviar los datos a través de internet, si internet no funciona. El programa, sin embargo, puede continuar su ejecución: puede mostrar la información sobre el problema, repetir el intento de envío después de un tiempo, y así sucesivamente. Pero estas acciones ya no son exactamente para lo que el programa estaba diseñado, ya que la acción principal - enviar el email, el programa no podrá hacerlo.

Muy a menudo, el que una situación sea excepcional o no, depende del lenguaje de programación. En muchos lenguajes, si de repente ocurre una división por cero - esto se considera una excepción (ya que no se puede dividir por cero), pero en JavaScript - no se considera (en JavaScript sí se puede dividir por cero).

idnlmskada