Asserções!

Blz , galera !!!

Alguém ai saberia me explicar na pratica o funcionamento das asserções , tipo , eu entendi que serve para testar hipoteses , mas como ia seria feito , depois d compilado e excutado o código !! não entendi muito bem isso !!!
Se alguém souber me explicar !!!

Valeu !!!

nao entendi muito bem o que vc quis dizer com “depois que é compilado e executado”, mas na pratica elas servem para garantir que o programa se comporte perante uma determinada codição. se essa condição for violada é lançada um erro. (Minha opinião é que as assertions funcionam como uma das Praticas Elegantes de programação. Apenas isso):

no entanto … na pratica :

private void setIdate(int idade) {
 assert idade > 0 : "A idade não pode ser negativa.";
 this.idade = idade;
}

essa assertion garante que a idade nao sera negativa!

no www.guj.com.br tem alguns materiais sobre isso, vale a pena dar uma olhada.

Ps: Assertions caem na prova de certificação , acho esse o unico incentivo pra fazer alguem estuda-las, levando em conta, é claro ,que na minha opinião as exceptions suprem todas nossas necessidades.

Caso, no exemplo acima, a idade seja negativa, o q acontece!?!? Exibe a mensagem de erro e aborta o programa?!?!

o programa além de ser compilado com as assertions habilitadas, tb tem q ser executado com elas habilitadas…

javac -ea Classe.java // compila com assertions…
java -ea Classe // roda com assertions…

// -ea == -enableassertions

caso o teste da assertion nao seja verdadeiro, gera um AssertionError e o programa aborta…, tu usa isso SOMENTE no desenvolvimento… pra testar situações em q nunca devem acontecer, por ex…

Ah… muleke… acho q entendi…