📅  最后修改于: 2023-12-03 14:47:58.397000             🧑  作者: Mango
在JavaScript中, throw
关键字用于在代码中手动抛出异常。但是,有两种常见方式可以创建错误对象:throw Error('msg')
和 throw new Error('msg')
。 这两个方式之间有什么区别?
throw Error('msg')
当运行 throw Error('msg')
时,会创建一个 Error
实例并将其抛出。由于这种方式不是使用 new
运算符调用构造函数,因此它不是完全有效的方式来创建 Error
对象并添加自定义属性。如果您尝试添加额外的属性,它们将被忽略。
throw Error('msg');
throw new Error('msg')
与 throw Error('msg')
不同,使用 new
运算符调用 Error
构造函数可以将自定义属性添加到错误对象。
throw new Error('msg');
在此示例中,可以在错误对象上添加其他属性或方法。例如:
throw new Error({
message: 'msg',
status: 404,
response: 'not found',
log: function() {
console.log('Error logged');
}
});
使用 throw new Error('msg')
可以更轻松地创建自定义错误对象并添加额外的属性和方法。 而使用 throw Error('msg')
创建的错误对象基本上只是一个字符串消息,并没有其他额外的信息。
所以,我们建议使用 throw new Error('msg')
来创建自定义错误对象。
希望这篇文章能够帮助您了解 throw Error('msg')
和 throw new Error('msg')
之间的差异。