DevPath · Aprende a programar ESPTEN

Manejo de errores

try, catch y finally

Cuando algo falla

Hay operaciones que pueden fallar: leer un dato que no existe, convertir un texto a número, dividir por cero de forma inválida... Si no lo controlas, un error detiene la ejecución del programa. Para manejarlo de forma controlada se usa el bloque try...catch.

try {
  // código que puede fallar
  const datos = JSON.parse("esto no es JSON");
} catch (error) {
  // se ejecuta solo si hubo un error
  console.log("Algo salió mal:", error.message);
}

El bloque finally

Es opcional y se ejecuta siempre, haya error o no. Sirve para tareas de limpieza (cerrar conexiones, ocultar un indicador de carga...):

try {
  hacerAlgo();
} catch (error) {
  console.log("Error:", error.message);
} finally {
  console.log("Esto se ejecuta pase lo que pase");
}

Ejemplos

Capturar un error y continuar

function parsear(texto) {
  try {
    return JSON.parse(texto);
  } catch (error) {
    console.log("JSON inválido:", error.message);
    return null;
  }
}
console.log(parsear('{"ok":true}'));
console.log(parsear("no es json"));
Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
Lanzar errores con throw →