ok, estoy preguntando esto de nuevo, ¿por qué la captura en el siguiente código no funciona como se esperaba? ¿Es esto un defecto de diseño de js?
const getUserById = (id, authorized) => { return new Promise((resolve, reject) => { if (!authorized) { reject('Unauthorized access to the user data'); } resolve({ id: id, username: 'admin' }); }); } try { getUserById(10, false) .then(user => console.log(user.username)); // the following code still executes ? console.log('next'); } catch (error) { console.log(`Caught by try/catch ${error}`); }Sorprendentemente, la captura no funcionó.
La teoría del bloque try/catch es catch debería poder detectar todos los problemas del bloque try. Si rediseñamos JavaScript, ¿podemos hacer que funcione la captura en el código anterior?