Manejo de Excepciones (try/catch)
Cuando algo sale mal — analizar JSON inválido, llamar a un método que no existe — JavaScript lanza un error. Si no se captura, eso hace que tu programa se caiga. try/catch te permite capturarlo y decidir qué pasa en su lugar.
try {
const result = JSON.parse("not valid json");
} catch (error) {
console.log("Could not parse JSON!");
}Could not parse JSON!
JavaScript intenta ejecutar el código dentro de try. En el momento en que JSON.parse() lanza un error, salta directamente al bloque catch en vez de caerse — el programa sigue ejecutándose con normalidad después de eso.
Acceder al error real, y finally
catch (error) te permite acceder al objeto de error real — útil para registrar logs o mostrar un mensaje real en vez de uno genérico. finally se ejecuta pase lo que pase — se haya lanzado un error o no — lo que lo convierte en el lugar adecuado para el código de limpieza.
try {
const result = JSON.parse("not valid json");
} catch (error) {
console.log(`Error: ${error.message}`);
} finally {
console.log("This always runs");
}Error: Unexpected token o in JSON at position 1 This always runs
Ese mensaje de error vino del motor real de JavaScript, no es algo escrito para parecer plausible — esto es genuinamente lo que verás si ejecutas este mismo código.
Siguiente: clases — agrupar datos junto con las funciones que trabajan sobre ellos.
Ejercicio de práctica
Intenta analizar el string "abc" como JSON con JSON.parse(), captura el error, e imprime "Not valid JSON" en vez de que se caiga.