Mensagem
Warning: unreachable code after return statement (Firefox)
Tipo de ErroEdit
Aviso
O que correu mal?Edit
Unreachable code after return statement pode ocorrer nas seguintes situações:
- Quando é utilizada uma expressão depois de uma declaração
return
, ou - quando é utilizada uma declaração return sem ponto e vírgula, mas incluindo uma declaração diretamente depois.
Quando existe uma expressão depois de uma declaração return
válida, é dado um aviso para indicar que o código depois da declaração return
é inacessível, o que significa que o mesmo nunca pode ser executado.
Porquê é que eu deveria ter ponto e vírgula depois de declarações return
? No caso de declarações return
sem ponto e vírgula, não é claro se o programador pretendia devolver a declaração na linha seguinte, ou para parar a execução e o retorno. O aviso indica que existe ambiguidade no modo como a declaração return
foi escrita.
Os avisos não serão apresentados para declarações return sem ponto-e-vírgula nas seguintes situações:
Exemplos
Casos inválidos
function f() { var x = 3; x += 4; return x; // retorna a função de imediato x -= 3; // logo, esta linha não será executada; é inacessivel } function f() { return // é tratado como um `return;` 3 + 4; // logo, a função é retornada, porém esta linha não será alcançada }
Casos válidos
function f() { var x = 3; x += 4; x -= 3; return x; // OK: return depois de todas as declarações } function f() { return 3 + 4 // OK: um return sem ponto e vírgula com uma expressão na mesma linha }