在 javascript 中,我注意到两种引发错误的方法:
1)
throw "An error";
2)
throw new Error('An object error')
选择一种方式比另一种方式有什么优势吗?被认为是一种更好的做法吗?
谢谢
在 javascript 中,我注意到两种引发错误的方法:
1)
throw "An error";
2)
throw new Error('An object error')
选择一种方式比另一种方式有什么优势吗?被认为是一种更好的做法吗?
谢谢
基本上,当您使用方法一时,JavaScript 会隐式抛出一个带有“错误”的错误对象作为消息。除非您需要抛出另一种异常(例如,具有解释错误的不同属性的异常),否则方法一种很好。
但是,如果您计划在将来抛出更复杂的异常,则需要使用方法 2,因为您需要定义要抛出的对象。
基本上,为此目的,两者都是等价的。我会选择方法 2,因为它会让你在路上保持正确的心态;)
一个Error
对象有一些不错的附加功能,比如error.name
and (in Firefox) error.stack
。
如果您需要这些,请明确抛出错误。然而,大多数人只是使用error.toString()
方法(通常被隐式调用)。在后一种情况下,首先创建一个 Error 对象是多余的,因此抛出一个字符串也可以。