Method Overriding with Exception Handling
There are many rules if we talk about method overriding with exception handling. The Rules are as follows:
- If the super class method does not declare an exception
- If the super class method does not declare an exception, subclass overridden method cannot declare the checked exception but it can declare unchecked exception.
- If the super class method declares an exception
- If the super class method declares an exception, subclass overridden method can declare same, subclass exception or no exception but cannot declare parent exception.
- If the super class method does not declare an exception
- If the super class method does not declare an exception, subclass overridden method cannot declare the checked exception.
import java.io.*; class Parent{ void msg(){System.out.println("parent");} } class Child extends Parent{ void msg()throws IOException{ System.out.println("child"); } public static void main(String args[]){ Parent p=new Child(); p.msg(); } }
Output:Compile Time Error
- If the super class method does not declare an exception, subclass overridden method cannot declare the checked exception but can declare unchecked exception.
import java.io.*; class Parent{ void msg(){System.out.println("parent");} } class Child extends Parent{ void msg()throws ArithmeticException{ System.out.println("child"); } public static void main(String args[]){ Parent p=new Child(); p.msg(); } }
Output:child
- If the super class method declares an exception
- If the super class method declares an exception, subclass overridden method can declare same, subclass exception or no exception but cannot declare parent exception.
import java.io.*; class Parent{ void msg()throws ArithmeticException{System.out.println("parent");} } class Child extends Parent{ void msg()throws Exception{System.out.println("child");} public static void main(String args[]){ Parent p=new Child(); try{ p.msg(); }catch(Exception e){} } }
Output:Compile Time Error
Method Overriding in Java
ReplyDeleteKeep sharing, your post is helpful