Re: Exception Handling
Javas wrote:
public class Qn24 {
Say, I'm just taking a WAG here, but this wouldn't happen to be question
number 24 on your homework assignment, would it?
static class A
{
void process() throws Exception { throw new
Exception(); }
Do us a favor here on Usenet and please keep indentation down to a maximum of
four spaces per level. Eight is too wide for readability in a newsgroup.
}
static class B extends A
{
void process() { System.out.println("B "); }
}
public static void main(String[] args)
{
A a = new B();
a.process();
}
}
Why does the above code results in a compilation error? since it is
When asking questions like this, saying "a compilation error" is waaaaay to
vague. What is the error? *Copy and paste* the *exact* text of the error in
these cases.
always invoking class B's process() method which doesnt throw any
exception.
The key is that it's a compilation error, not a runtime one. The fact that
a.process() is polymorphically calling B's version is a runtime consideration,
not a compilation one. See markspace's answer.
It becomes quite important in Java to keep compile-time and run-time realities
separate in your mind.
--
Lew