Tipos de situaciones excepcionales en JavaScript
En JavaScript, hay muy pocas situaciones en las que se producen excepciones. En primer lugar, simplemente porque hay muy pocos lugares donde pueden ocurrir.
En segundo lugar, porque el lenguaje en sí es "tolerante": pasa por alto muchas cosas, como la división por cero o el código HTML incorrecto. Incluso si proporciona una ruta incorrecta a una imagen que intenta cargar, JavaScript lo perdonará y no lo considerará una excepción.
Sin embargo, existen situaciones excepcionales. Analizaremos dos de las más simples y con su ejemplo estudiaremos el trabajo con excepciones en JavaScript.
La primera excepción ocurre cuando queremos analizar un JSON incorrecto:
let data = JSON.parse('{1,2,3,4,5}'); // este json es incorrecto
Y la segunda excepción ocurre cuando el almacenamiento local,
asignado a nuestro sitio web, se desborda
(más de 5 megabytes). Provoquemos artificialmente
dicha excepción:
let str = '';
for (let i = 1; i <= 6 * 10 ** 6; i++) { // formamos una cadena de más de 5 mb
str += '+';
}
localStorage.setItem('key', str); // intentamos escribir en el almacenamiento
¿Cómo reacciona JavaScript ante tales situaciones excepcionales? Simplemente muestra un error en la consola y detiene la ejecución adicional del script.
Nuestra tarea, como programadores, consiste en
detectar tal situación y manejarla de alguna manera,
sin permitir que el programa detenga por completo
su ejecución. Para ello,
existe una construcción especial try-catch,
que analizaremos en las siguientes lecciones.
Cree una cadena de un tamaño suficientemente grande e intente escribirla en el almacenamiento local. Asegúrese de que aparece un error en la consola.
Intente analizar (parsear) un JSON incorrecto. Asegúrese de que aparece un error en la consola.