在Javascript中抛出语法

时间:2015-01-09 04:48:48

标签: javascript

怎么样

    throw
       {
         name: 'type error',
         message: 'provide numeric value'
       };

时语法不正确

    throw{
         name: 'type error',
         message: 'provide numeric value'
       };

语法是否正确?

是否真的有必要使用throw附加花括号?为什么?

1 个答案:

答案 0 :(得分:6)

出于某种原因,在单独的throw关键字之后,分号总是inserted,即使您自己无法合法地拥有throw语句,所以您得到的是这样:

    throw;
       {
         name: 'type error',
         message: 'provide numeric value'
       };

会导致语法错误。

对于它的价值,C#(与JS一样,也基于ECMA标准)确实支持throw;语句作为rethrow an exception的方式。也许他们将来会对ECMAScript进行改进,以支持类似的功能。但这只是我的猜想。