JavaScript中throw Error(‘msg’)和throw new Error(‘msg’)的区别

JavaScript中throw Error(‘msg’)和throw new Error(‘msg’)的区别

throw语句允许您创建异常或自定义错误。异常可以是Javascript字符串、数字、布尔值或对象。因此,如果您将此语句与try…catch语句一起使用。它允许您控制程序的流程,并生成准确的错误消息。例如: throw “too small” (throw a text), throw 500 (throw a number),等等。

首先,throw Error()和throw new Error()在功能上是等价的。

语法:

throw Error("Enter your error message here");
JavaScript

Error object: 生成一个包含错误信息的对象,并将其作为参数传递给catch。错误对象有三个属性:name, message 和 stack。

Error() 构造函数用于创建一个新的错误对象。

示例: 为了更好地理解,我们将举一个例子:

// throw Error()
try {
    throw Error("msg");
} catch (e) {
    console.log("for Error()");
    console.log(e);
}
JavaScript

输出:

JavaScript中throw Error('msg')和throw new Error('msg')的区别

以上代码的输出(Error)

在上面的代码中,我添加了一个带有throw Error()的try…catch语句。这段代码将在try块中抛出’ msg ‘错误,catch语句将执行try块。

new Error 对象: 它捕获错误发生位置的几个属性。它公开一个带有两个参数name和message的错误事件。它还终止进一步的执行。

示例: 为了更好地理解,我们将举一个例子:

// throw new Error()
try {
    throw new Error("msg");
} catch (e) {
    console.log("for new Error()");
    console.log(e);
}
JavaScript

输出 :

JavaScript中throw Error('msg')和throw new Error('msg')的区别

以上代码的输出(new Error)

在上面的代码中,我添加了一个try…catch语句,并带有throw new Error()。这段代码将在try块中抛出’ msg ‘错误,catch语句将执行try块。

正如您在两个控制台的图像中所看到的,抛出一个错误(‘ msg ‘)和抛出一个新的错误(‘ msg ‘)将给出相同的结果。

注意: Error()和new Error()返回一个对象作为结果.

throw Error()和throw new Error()的区别:

throw Error() throw new Error()
Error(…) 的可靠性和一致性较差。 new Error(…)更加可靠和一致。
Error对象包含堆栈跟踪和其他有用的调试信息,这些信息在使用字符串文字时会丢失。 使用ES6类创建对象需要使用new,而通过类扩展Error是保留堆栈跟踪的唯一方法。
我们可以使用创建异常或自定义错误 throw Error() The new Error() 方法是Node模块的内置应用程序编程接口
throw Error() 就像一个Javascript字符串、一个数字、一个布尔值或一个对象。 它返回作为参数传递的消息值中定义的特定错误。
我们可以控制程序的流程和生成准确的错误消息使用 throw Error() 它创建一个新的Error对象并设置 error.message 属性设置为所提供的文本消息。
throw语句抛出一个异常。 它的语法是-: new Error(message)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册