在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