class A {
public static void main (String args[]) {
for( ;; ) {
System.out.println(“A”);
}
System.out.println(“B”);
}
}
Por que esse programa não compila? Uma coisa que percebi é que quando um laço infinito proposital é criado e tem uma instrução após esse laço o java aponta um erro e não compila
A
2 Respostas
1 like
O erro é “Unreachable Statement”, que quer dizer que o trecho de código depois do for ( “;”) nunca é alcançado. Suas opções são tirar essa linha ou tornar o loop finito, para que haja a possibilidade de essa linha ser executada.System.out.println(“B”)
Sem entrar em muitos detalhes, esse tipo de código que nunca executa não é permitido porque o compilador não consegue avaliá-lo e torná-lo bytecode, pois nunca chega nele. Para evitar o problema de o compilador não conseguir gerar esse código, é disparado esse tipo de erro.
Abraço.
A
Entendi. Muito obrigado.
Criado 18 de agosto de 2017
Ultima resposta 18 de ago. de 2017
Respostas 2
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Apache Kafka e Spring Boot: Comunicacao assincrona entre... Por Eduardo Felipe Zambom Santana — Casa do Codigo