Pergunta do Whizlabs duvida

Olá pessoal estou com uma dúvida no assert

public class AssertTest {

public static void main(String[] args) {

for (int i = 0; i < 10; i++) {
		
    try{
          assert i%2==0:i--; // ---->
          System.out.println("Even number " + i);
    }catch(AssertionError e){
          System.out.println(" Old number " + i);
    }
		
}

}

A saída é Even number de 0 a 9,
duvida no assert i%2 ==0 : i–;
quando o assert for false, ele não teria que ir para catch, e nunca é feito i–.

}

Tentou habilitar o assert ao rodar o teu programa??

java -ea AssertTest

:wink:

Esse tipo de questão tem que ver no enunciado as seguintes opções que terão um peso poderoso nas respostas:
Qual será o resultado se o código for compilado assertions habilitada.
Qual será o resultado se o código for executado com assertions habilitada.

Isso deve ser prestado atenção, pois o código pode ser compilado e executado sem assertions habilitadas e a JVM nem reclamará pq ele esta ali. Simplimente irá inguinorar.

Espero ter ajudado.

cara nunca captura uma exeção que um assert dá !

ahahh a pegadinha mora ai nessas questoes… ela informou se executa com assertion habilitada? heeh… nao é pq tem assert que quer dizer que foi compilava com ele habilitada ja q por padrao vem desabilitada heehe… o whizlabs tem muita questao assim como no exame também.

[quote=anderson.bonavides]Esse tipo de questão tem que ver no enunciado as seguintes opções que terão um peso poderoso nas respostas:
Qual será o resultado se o código for compilado assertions habilitada.
Qual será o resultado se o código for executado com assertions habilitada.

Isso deve ser prestado atenção, pois o código pode ser compilado e executado sem assertions habilitadas e a JVM nem reclamará pq ele esta ali. Simplimente irá inguinorar.

Espero ter ajudado.[/quote]

cara…entao eu posso compilar com elas ativadas…e executar com elas desabilitadas ou vice-versa?

Sim é bastante possível e dependendo da situação isso vai ter um peso bastante consideravel na resposta da questão.