Error thrown within new Promise() block new Promise((resolve, reject) => { throw new Error(); }) .then(() => { console.log("resolved!"); }) .catch((error) => { console.log("rejected!"); }); // rejected Resolving Promise.reject() new Promise((resolve, reject) => { resolve(Promise.reject()); }) .then(() => { console.log("resolved!"); }) .catch((error) => { console.log("rejected!"); }); // rejected Resolving thrown error from nested new Promise() block new Promise((resolve, reject) => { resolve(new Promise((resolve2, reject2) => { throw new Error(); })); }) .then(() => { console.log("resolved!"); }) .catch((error) => { console.log("rejected!"); }); // rejected