Eu preciso `retornar` após` jogar` em JavaScript?


96

Estou lançando um Errorde um método meu do qual desejo uma saída antecipada, conforme abaixo:

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

Eu preciso colocar uma return;declaração após a minha throw? Funciona para mim, por enquanto. Se for supérfluo, prefiro não colocá-lo, mas não tenho certeza do que diferentes navegadores podem fazer.

Respostas:


160

Você não precisa colocar uma returninstrução depois throw, a returnlinha nunca será alcançada, pois o lançamento de uma exceção imediatamente devolve o controle ao chamador.


1
"lançar uma exceção imediatamente devolve o controle ao chamador" ... A menos que haja um CATCH para lidar com o erro lançado em qualquer caminho da pilha de chamadas.
Mahesh

12
@Mahesh Não tenho certeza do que você quer dizer com "A menos que" - qualquer CAPTURA na pilha abaixo de onde throwocorreu faz parte de um "chamador"
Rob M.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.