Me preguntaba dónde se almacenan los errores en Javascript. Se lanza un error y se pasa a catch() en el siguiente ejemplo de MDN. Mi pregunta es ¿cómo obtiene catch() el objeto de error? ¿Dónde se almacena el error lanzado para que sea un parámetro para catch() más tarde?
try { nonExistentFunction(); } catch (error) { console.error(error); // expected output: ReferenceError: nonExistentFunction is not defined // Note - error messages will vary depending on browser }El tiempo de ejecución de JavaScript arroja el error porque está llamando a una función indefinida. Algo así sucede debajo del capó
const func = () => { try { throw new ReferenceError( "nonExistentFunction is not defined" ); } catch (err) { console.log(err); } }; func(); catch solo captura este error del alcance de try