thorw 与 reject
在 Promise 的编程处理中,可以使用 Promise.catch() 的链式处理来传递错误,也可以使用 trycatch 来 throw 错误。业务开发中,一些常见 bad case 如下:
- throw "some error message"
try {
throw 'This is an error message';
} catch (error) {
console.log(error); // 输出: Error: This is an error message
}
- reject("some error message")
new Promise((resolve, reject) => {
reject('This is an error message');
}).catch(error => {
console.log(error); // 输出: This is an error message
});
一些论据:
new Error()
实例化 Error 对象时,如果 message 参数是缺省的,此时 Error 对象的 message 属性是 '', 而非 undefined。
const errorWithMessage = new Error("Some error message");
console.log(errorWithMessage.message); // 输出: "Some error message"
const errorWithoutMessage = new Error();
console.log(errorWithoutMessage.message); // 输出: ""
相关链接: