| Author |
assertion
|
prajkta patil
Ranch Hand
Joined: Nov 13, 2004
Posts: 49
|
|
Given the following, which line is an example of an inappropriate use of assertions? A]Line 8 B]Line 9 C]Line 11 D]Line 15 E]Line 18 answer is E. Assert statements should not cause side effects. Line 18 changes the value of z if the assert statement is false. but i think line 15 is also wrong bcause value of z is 5 & there is no break keyword in the switch stmt,so it will go to default stmt of switch after case 5.& then it will give error.i think author forgot to use break over there.And one more confusion is that z is not the final variable then how can it used in switch stmt of above programme. pls correct my confusion , thanks in advance..
|
 |
Dave Wood
bronco
Ranch Hand
Joined: Aug 02, 2004
Posts: 161
|
|
Hi. While I agree that the lack of break statement is odd, it doesn't really make the assertion in line 15 incorrect. That assertion doesn't fail in the case you described because z IS less than 10 (which is what's being asserted). As for the variable not being final: that's not a requirement for use in a switch statement. What you're thinking of is that the values in the CASE statements must be constant values. In this example, those values are 4 and 5, which are constants. If you defined a variable: int FOO = 5; ...and used it in place of the value 5 in the case statement, it would not compile because FOO is not constant. Hope that helps.
|
Co-Author of <a href="http://www.oreilly.com/catalog/jswing2" target="_blank" rel="nofollow">Java Swing</a><br />Co-Creator of <a href="http://www.sun.com/training/catalog/courses/CX-310-055.xml" target="_blank" rel="nofollow">SCJP 5.0</a> and <a href="http://www.sun.com/training/certification/java/associate_beta.xml" target="_blank" rel="nofollow">SCJA</a> exams
|
 |
Mike Gershman
Ranch Hand
Joined: Mar 13, 2004
Posts: 1272
|
|
|
Please consider that assert statements are used to detect program bugs. If the lack of break statements causes an assert to fail, the assert is just doing its job.
|
Mike Gershman
SCJP 1.4, SCWCD in process
|
 |
prajkta patil
Ranch Hand
Joined: Nov 13, 2004
Posts: 49
|
|
thanks dave & mike. now i understood well.
|
 |
ankur rathi
Ranch Hand
Joined: Oct 11, 2004
Posts: 3829
|
|
So , What would be the answer of question . I think the code will run without error but there is no option like none of this .
|
 |
ankur rathi
Ranch Hand
Joined: Oct 11, 2004
Posts: 3829
|
|
I didnt get the reason for answer E . please any body help .
|
 |
Ramy M. Kamel
Greenhorn
Joined: Sep 13, 2004
Posts: 22
|
|
Rathi, Take care that the question is asking for inappropriate use of assertions, not illegal use. I think it's mandatory to distinguishe between Illegal and Inappropriate when looking at assertions questions.
|
<b>If you do things well, do them better. Be daring, be first, be just.</b><br />SCJP <b>98.4%</b>
|
 |
ankur rathi
Ranch Hand
Joined: Oct 11, 2004
Posts: 3829
|
|
How it is inappropriate ??? I am very much confuse now ? please help .
|
 |
ankur rathi
Ranch Hand
Joined: Oct 11, 2004
Posts: 3829
|
|
Please help . It is confusing me !!
|
 |
Sree Nivas
Ranch Hand
Joined: Jul 24, 2003
Posts: 95
|
|
There should not be any side effects when you are using assertions. Bcoz assertions can be enabled and disabled, z++ in line no 18 gives one output when assertions are enabled and different output when these are disabled. Hence the answer E is correct. The following url also helps when to use assertions and not to use. http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html Hope this clarifies your query. Sreenivas
|
 |
 |
|
|
subject: assertion
|
|
|