File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes exception's Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "exception Watch "exception New topic


nitin sharma
Ranch Hand

Joined: Feb 24, 2001
Posts: 290
class drum
void method2(int j)

class vote extends drum
void method2(final int j)throws ArithmeticException

hello everybody,
in the above code i have taken two classes in which i am basically doing overriding.
My question is when i override the method2() in the vote class i specify an ArithmeticException in it's clause and it does not give an error.
If i put any other exception out there like interruptedException,or nullpointerexception i get an error throw's clause not compatible.
I think the rules for overrriding are
1)The exception thrown in overridden method can be specified in the throws clause of the overriding method.
2)or the subclass of the exception or do not specify any exception in the overriding method.
please throw some light on it.
Harish Kashyap
Ranch Hand

Joined: Jun 14, 2000
Posts: 118
hi nitin,
there are two kind of exceptions-----
1) Caught Exceptions
2) Uncaught Exceptions
the caught exceptions are those exceptions which can be caught at the compile time i.e., you can specify them in throws clause or in try-catch block.
the uncaught exceptions are those exceptions which your jvm is unable to handle at the runtime and are thrown by the jvm at the runtime,

ArithmaticException is a caught exception i.e., you can trap it and process accordingly, but if something goes null how will you assign or specify something at runtime when your compiler hasn't generated the bytecode for that.
similar case is with InterruptedException (when a thread interrupted) can't be thrown instead it can be caught and processed accordingly.

lets say a thread is interrupted somehow, now if you want to throw this exception , which thread will execute the code for throwing this exception i.e.(..throws InterruptedException)
so you have to catch this exception in any case.
I agree. Here's the link:
subject: exception's
jQuery in Action, 3rd edition