关于 Error 对象的一点认知

132 阅读1分钟

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); // 输出: ""

相关链接: