Re: [coding practises] do you declare your superclass "throws"??
Ben Phillips wrote:
Andreas Leitgeb wrote:
I just wrote a simple test-case:
>
class X { public static int foo() throws IOException { return 0; }
}
and compiled it with javac 1.5.0_09 and with 1.4.2_08
and never did it write any error or warning.
This is interesting. It could stand to give a warning in this case, or
where it's final or private. The rest of the time, no error or warning
seems best, since even if you don't throw it yourself you may be
intentionally declaring that overridden versions may throw it.
Not with static methods, because one cannot override a static method.
What indeed does cause an error is an explicit
try-catch for an exception that isn't actually
thrown. This is, however, only annoying during
development, when temporarily commenting out the
actual throwing part, and then having to also comment out the try-catch.
Very annoying. This one should be a warning rather than an error, IMO.
Unreachable code in general should be.
Unreachable code should be what? Should be a warning rather than an error?
Java's philosophy tends to be to check as much as can be checked at compile
time. Your feelings about what "should be" will have to concede to what is.
Java does have a Request for Enhancment (RFE) process.
Some IDEs, such as Eclipse, let you adjust the severity of some of their
internal compiler messages (e.g., make a warning rather than an error).
--
Lew