在 JavaScript 中,我需要在 “throw” 之后 “return” 吗?

2022-08-30 04:11:03

我正在抛出一个我想要提前退出的方法,如下所示:Error

// No route found
if(null === nextRoute) {
    throw new Error('BAD_ROUTE');
}

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


答案 1

你不需要在后面放一个语句,这条线永远不会被到达,因为立即抛出一个异常,将控制权交还给调用方。returnthrowreturn


答案 2

throw 语句将引发用户定义的异常。当前函数的执行将停止(不会执行 throw 之后的语句),并且控制权将传递给调用堆栈中的第一个 catch 块。如果调用方函数之间不存在 catch 块,则程序将终止。