Question discussion

What is the output for the below code ?import java.io.FileNotFoundException;class A{ public void printName() throws FileNotFoundException{…

294924Medium 1 reply 549 views
0
What is the output for the below code ?import java.io.FileNotFoundException;class A{ public void printName() throws FileNotFoundException{ System.out.println("Value-A"); }}class B extends A{ public void printName() throws NullPointerException{ System.out.println("Name-B"); }}public class Test{ public static void main (String[] args) throws Exception{ A a = new B(); a.printName(); }}
  • AValue-A
  • BCompilation fails-Exception NullPointerException is not compatible with throws clause in A.printName()
  • CName-B
  • DCompilation succeed but no output
  • ENone of these
Correct answer: C

Discussion 1

0
CCommunity
Name-B

The overriding method can throw any unchecked (runtime) exception, regardless of exception thrown by overridden method. NullPointerException is RuntimeException so compiler will not complain.