Register Now

Login

Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

What will be the output of the following Java program?
class exception_handling
{
public static void main(String args[])
{
try
{
int a = 1;
int b = 10 / a;
try
{
if (a == 1)
a = a / a – a;
if (a == 2)
{
int c[] = {1};
c[8] = 9;
}
finally
{
System.out.print(“A”);
}
}
catch (NullPointerException e)
{
System.out.println(“B”);
}
}
}

What will be the output of the following Java program?
class exception_handling
{
public static void main(String args[])
{
try
{
int a = 1;
int b = 10 / a;
try
{
if (a == 1)
a = a / a – a;
if (a == 2)
{
int c[] = {1};
c[8] = 9;
}
finally
{
System.out.print(“A”);
}
}
catch (NullPointerException e)
{
System.out.println(“B”);
}
}
}
a) A
b) B
c) AB
d) BA

Answer: a
Explanation: The inner try block does not have a catch which can tackle ArrayIndexOutOfBoundException hence finally is executed which prints ‘A’ the outer try block does have catch for NullPointerException exception but no such exception occurs in it hence its catch is never executed and only ‘A’ is printed.
Output:
A

Join The Discussion