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.
If you make a return statement there, the compiler complains that the code is not reachable. Code below the throw statement is not reachable. There is no error irrespective that the method says that it returns int, because the code throws the exception explicitly using "throw".
If there is something like int a=10; int b=a/0; then you must return the int from the method because there is exception (divide by zero) that is not known until the line b=a/0 is executed at run time.