Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Assertions

 
Osama Hasan
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Article of


Any of the following commands enables assertion checking in class Foo:
1)java -ea Foo
2)java -ea:Foo Foo
3)java -ea:... Foo

I understood what 1 and 3 do.But what's the purpose bof writing the classname(Foo) two times in command no. 2.
Can any one explain?
Thanx in advance.
 
Thomas Paul
mister krabs
Ranch Hand
Posts: 13974
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Osama, please change your display name to meet the JavaRanch naming requirements. You must use first name - space - last name.
 
Shishio San
Ranch Hand
Posts: 223
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator



I understood what 1 and 3 do.But what's the purpose bof writing the classname(Foo) two times in command no. 2.
Can any one explain?
Thanx in advance.

I think you mistyped the name of your class i.e Foo1 instead of Foo. Anyway the following command
java -ea:Foo Foo
runs the program called Foo with Assertions enable only in package Foo and its subpackages.
you might have a package called Foo then.
 
Valentin Crettaz
Gold Digger
Sheriff
Posts: 7610
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Thomas Paul:
Osama, please change your display name to meet the JavaRanch naming requirements. You must use first name - space - last name.

And here is the link:
Change your displayed name here
 
Osama Hasan
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am still confused.
I am running class Foo with the command line:
java -ea:Foo Foo
Although class Foo is not in the package "Foo" but still class Foo is running with assertions enabled.
 
Jussi Sairanen
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thought I'm not a professional on this particular issue, a quick search on the web found me this functionality for -ea:
<cut>
no arguments
Enables or disables assertions in all classes except system classes.
packageName...
Enables or disables assertions in the named package and any subpackages.
...
Enables or disables assertions in the unnamed package in the current working directory.
className
Enables or disables assertions in the named class
<cut>
--------------------
So java -ea:Foo Foo enables assertions for _class_ Foo not package, and runs the program Foo.

Jussi Sairanen
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic