This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
In the following code, statement 'System.out.println("i="+i);' will never be reached. This could be identified during compilation by compiler and it should give 'Unreachable error" Why this is not happening?
"Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world."
The javac compiler does not evaluate expressions looking for exceptions. For example, even if the expression were simply 5/0, the compiler will not assume that an exception will occur.
In addition, the Java compiler only looks at method headers, not method imlementations or javadoc. So javac will not know that Math.random() is always less than 1 and (int)Math.random() is always zero. [ December 06, 2004: Message edited by: Mike Gershman ]