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 ]