} } 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.
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.