Evento anómalo o error que ocurre durante la ejecución de un programa.
Interrumpe el flujo normal del programa. Las excepciones pueden ser gestionadas con estructuras como try/catch.
// Manejo de excepciones try { const resultado = operacionRiesgosa(); console.log('Resultado:', resultado); } catch (error) { // Manejar el error console.error('Error:', error.message); } finally { // Siempre se ejecuta limpiarRecursos(); } // Lanzar excepciones personalizadas class ErrorDeValidacion extends Error { constructor(campo: string, mensaje: string) { super(mensaje); this.name = 'ErrorDeValidacion'; this.campo = campo; } } function validarEdad(edad: number) { if (edad < 0) { throw new ErrorDeValidacion('edad', 'La edad no puede ser negativa'); } if (edad > 150) { throw new ErrorDeValidacion('edad', 'Edad no válida'); } } try { validarEdad(-5); } catch (error) { if (error instanceof ErrorDeValidacion) { console.log(`Campo ${error.campo}: ${error.message}`); } }