在JavaScript中的`throw`之后我需要`return`吗?

Mat*_*hew 82 javascript error-handling exception

我正在Error从我的方法中抛出一个我希望提前退出的方法,如下所示:

// No route found
if(null === nextRoute) {
    throw new Error('BAD_ROUTE');
}
Run Code Online (Sandbox Code Playgroud)

我需要return;在我之后发表声明throw吗?它现在对我有用.如果它是多余的我宁愿不把它放进去,但我不能确定不同的浏览器可能会做什么.

Rob*_* M. 139

你不需要在return之后发表声明throw,return永远不会达到该行,因为抛出异常会立即将控制权交还给调用者.

  • @Mahesh我不确定你的意思是"除非" - 发生`throw`的堆栈中的任何CATCH是"调用者"的一部分 (11认同)
  • 我在“抛出新错误()”行之后有一个console.log,并且该console.log正在执行。那么这是为什么呢? (2认同)