हाँ, यदि सुपरक्लास विधि एक अपवाद फेंकती है, तो सबक्लास में ओवरराइडिंग विधि कोई अपवाद न फेंकने का चयन कर सकती है। यह Java में मान्य है और प्रोग्राम बिना किसी त्रुटि के संकलित और निष्पादित होता है।
उदाहरण
import java.io.FileNotFoundException;
abstract class Super {
public void sampleMethod() throws FileNotFoundException {
System.out.println("Method of superclass");
}
}
public class ExceptionsExample extends Super {
public void sampleMethod() {
System.out.println("Method of Subclass");
}
public static void main(String args[]) {
ExceptionsExample obj = new ExceptionsExample();
obj.sampleMethod();
}
}आउटपुट
Method of Subclass
मुख्य बिंदु
- ओवरराइडिंग विधि कम या कोई चेक्ड अपवाद नहीं फेंक सकती है।
- यह नए या व्यापक चेक्ड अपवाद नहीं फेंक सकती।
- अनचेक्ड अपवाद (RuntimeException) इस नियम से बंधे नहीं हैं।