Dúvidas em assertivas

Pessoal, na pág. 167 do livro da Kathy tem uma tabela que explica sobre assertivas, então tem uma explicação que não entendi:

“java -ea -das : Ativa assertivas no âmbito geral, porém desativando-as nas classes do sistema”

O que seria “âmbito geral” e “classes do sistema”?

Outra dúvida está na pág. 168 , lá no final : "Não use assertivas para validar argumentos de linha de comando."
O que seria “validar argumentos de linha de comando”?

olha abaixo:
java -ea -da:portal.java.myClasse
Abilita Assertions para todas as classses mas disabilita para a classe portal.java.myClasse

e a argumentos de linha de comando sao akeles argumentos q se passa quando vc executa o java.
Ex:
java myClasse arg1 arg2 arg3
myClasse tem 3 argumentos arg1, arg2 e arg3

que sao pegos pelo argumento que é recebido no MAIN da classse!

Habilita asserções em todas as classes, menos nas classes de sistema. Confesso que não sei exatamente o que são classes de sistemas.
-ea ou -enableassertions
-dsa ou -disablesystemassertions

[quote]Outra dúvida está na pág. 168 , lá no final : "Não use assertivas para validar argumentos de linha de comando."
O que seria “validar argumentos de linha de comando”?[/quote]

Na verdade isso é um caso específico de: “Não use asserções para validar argumentos de métodos public”.

shadow, o que vc me respondeu :

[quote]olha abaixo:
java -ea -da:portal.java.myClasse
Abilita Assertions para todas as classses mas disabilita para a classe portal.java.myClasse
[/quote]
“Abilita Assertions para todas as classses” seria para todas as classes do mesmo pacote de portal.java?

valeu galera,

Raphael C.

Habilita assertion’s para toda e qualquer classe que venha a ser usada no aplicativo que está sendo executada. A única exceção seria a portal.java.myClasse.

Habilita assertion’s para toda e qualquer classe que venha a ser usada no aplicativo

[quote]
que está sendo executada. [/quote]
A única exceção seria a portal.java.myClasse.

Não entendi a parte em destaque ,como assim “no aplicativo que está sendo executado”? vc poderia me esclarecer melhor? Porque embolou legal na minha mente…

Outra coisa galera , eu testei: java -ea -das e nem funciona,mas está no livro…

Não é das, é dsa. Já te falei isso antes.

todas as classes que venham à ser instânciadas ou herdadas estarão com assertion’s habilitadas menos a MyClass.

foi mal Schuenemann.

malanquini, pela sua última explicação ainda não ficou totalmente claro pra mim(foi mal se estou te deixando nervoso), mas gostaria que vc me respondesse se estou certo:
Todas as classes do pacote portal.java vão ficar com os assertions habilitados menos portal.java.myClasse.Seria isso?

Seria isso tbm!
Se vc tiver outros pacotes nesta sua aplicação, elas serão “Assertadas” tbm, e única e exclusivamente a classe portal.java.myClasse não seria.

Entendido agora!! :wink:

Abraços!

bigwaves, não estou irritado e espero agora terminar com sua dúvida.

como disse o jujo se você instanciasse outra classe esta tb estaria com assertions habilitadas.

p/ex:

package portal.java;

import outroPacote.outraClasse;

public classe MyClasse {

   public static void main(String[] args) {

      outraClasse oc = new outraClasse();
      outraClasseDentroDoPacote ocddp = new outraClasseDentroDoPacote();
      System.out.println ("Espero que agora entenda");
   }
}

Se você rodar este código com “java -ea -da:portal.java.myClasse” ele estará habilitando assertions para todas as classes menos MyClasse, ou seja, a classe “outraClasse” e “outraClasseDentroDoPacote” estarão sujeitas à todas restrições referentes à assertions. :grin:

malanquini , jujo e todo o pessoal valeu msm.

Deu pra pegar malanquini, com esse exemplo ficou bem claro, valeu msm

Obrigado a todos,

Raphael C.