在javascript中,我注意到两种抛出错误的方法:Javascript:显式抛出错误对象与否之间的区别
1)
throw "An error";
2)
throw new Error('An object error')
选择单向另一种方式有什么优势吗? 一个被认为是更好的做法?
谢谢
在javascript中,我注意到两种抛出错误的方法:Javascript:显式抛出错误对象与否之间的区别
1)
throw "An error";
2)
throw new Error('An object error')
选择单向另一种方式有什么优势吗? 一个被认为是更好的做法?
谢谢
的Error
对象有nice little extras像error.name
和(在Firefox)error.stack
。
如果您需要这些,请明确抛出错误。但是,大多数人只是使用error.toString()
方法(通常隐含地称为)。在后一种情况下,首先创建一个Error对象是有点矫枉过正的,所以抛出一个字符串也可以。
基本上,JavaScript是隐式地以“错误”抛出Error对象作为消息时使用的方法之一。除非你需要抛出一种不同的异常(例如,具有解释错误的不同属性的异常),否则方法很好。但是,如果您打算在将来抛出更复杂的异常,则需要使用方法2,因为您需要定义要抛出的对象。
基本上,为此目的,两者都是相同的。我会用方法2去,因为这将让你在正确的心态在路上;)
这是不正确的。请参阅http://jsfiddle.net/LZjwT/以获取反例。 – user123444555621 2011-04-17 07:25:29
@ Pumbaa80 - 酷 – 2011-04-17 08:31:46