1) class A1 extends Exception{}
class B1 extends A1{}
class C1 extends B1{}
public class Test {
static void aMethod() throws C1{ throw new C1(); }
public static void main(String[] args){
int x = 10;
try { aMethod(); }
catch(A1 e) { System.out.println("Error A");}
catch(B1 e) { System.out.println("Error B");}
}
}
A)Error B
B)compilation error
c)Runtime error
d)Error A
Ans : compilation error
Reason : Unreachable catch block for B. It is already handled by the catch block for A
2) class A2 extends Exception{}
class B2 extends A2{}
class C2 extends B2{}
public class Test1 {
static void aMethod() throws C2
{
throw new C2();
}
public static void main(String[] args){
int x = 10;
try {
aMethod();
}
catch(B2 e1) { System.out.println("Error B");}
catch(A2 e1) { System.out.println("Error A");}
}
}
A)Error B
B)compilation error
c)Runtime error
d)Error A
Ans : Error B
class B1 extends A1{}
class C1 extends B1{}
public class Test {
static void aMethod() throws C1{ throw new C1(); }
public static void main(String[] args){
int x = 10;
try { aMethod(); }
catch(A1 e) { System.out.println("Error A");}
catch(B1 e) { System.out.println("Error B");}
}
}
A)Error B
B)compilation error
c)Runtime error
d)Error A
Ans : compilation error
Reason : Unreachable catch block for B. It is already handled by the catch block for A
2) class A2 extends Exception{}
class B2 extends A2{}
class C2 extends B2{}
public class Test1 {
static void aMethod() throws C2
{
throw new C2();
}
public static void main(String[] args){
int x = 10;
try {
aMethod();
}
catch(B2 e1) { System.out.println("Error B");}
catch(A2 e1) { System.out.println("Error A");}
}
}
A)Error B
B)compilation error
c)Runtime error
d)Error A
Ans : Error B
No comments:
Post a Comment