Output of Java program | Set 12(Exception Handling)

Prerequisites : Exception handling , control flow in try-catch-finally
1) What is the output of the following program?

public class Test
{
	public static void main(String[] args)
	{
		try
		{
			System.out.printf("1");
			int sum = 9 / 0;
			System.out.printf("2");
		}
		catch(ArithmeticException e)
		{
			System.out.printf("3");
		}
		catch(Exception e)
		{
			System.out.printf("4");
		}
		finally
		{
			System.out.printf("5");
		}
	}
}

a) 1325
b) 1345
c) 1342
d) 135

Ans. (d)
Explanation: Once an exception occurs in try block, the execution passes to corresponding catch statement and doesn’t return back to try block. Only one of the catch blocks are executed at a time. finally block is always executed whether or not the exception occurred.

2) What is the output of the following program?

public class Test
{
	private void m1()
	{
		m2();
		System.out.printf("1");
	}
	private void m2()
	{
		m3();
		System.out.printf("2");
	}
	private void m3()
	{
		System.out.printf("3");
		try
		{
			int sum = 4/0;
			System.out.printf("4");
		}
		catch(ArithmeticException e)
		{
			System.out.printf("5");
		}
		
		
		System.out.printf("7");
	}
	public static void main(String[] args)
	{
		Test obj = new Test();
		obj.m1();
	}
}

a) 35721
b) 354721
c) 3521
d) 35
Ans. (a)
Explanation: If an exception is handled in the catch statement, the program continues with its normal execution, after executing the catch statement corresponding to that exception. Also, when an exception occurs in the try block, the rest of the program in the try block is not executed.

3) What is the output of the following program?



public class Test
{
	public static void main(String[] args)
	{
		try
		{
			System.out.printf("1");
			int data = 5 / 0;
		}
		catch(ArithmeticException e)
		{
			System.out.printf("2");
			System.exit(0);
		}
		finally
		{
			System.out.printf("3");
		}
		System.out.printf("4");
	}
}

a) 12
b) 1234
c) 124
d) 123

Ans. (a)
Explanation: The only case when the code inside finally block is not executed is when System.exit(0) is called explicitly in the program. Then exit statement is called and the program is terminated without executing any further.

4) What is the output of the following program?

public class Test
{
	public static void main(String[] args)
	{
		try
		{
			System.out.printf("1");
			int data = 5 / 0;
		}
		catch(ArithmeticException e)
		{
			Throwable obj = new Throwable("Sample");
			try 
			{
				throw obj;
			} 
			catch (Throwable e1) 
			{
				System.out.printf("8");
			}
		}
		finally
		{
			System.out.printf("3");
		}
		System.out.printf("4");
	}
}

a) Compilation error
b) Runtime error
c) 1834
d) 134

Ans. (c)
Explanation: Exceptions can be thrown in catch clause. This is done in order to change the exception type at run time. Exceptions in catch clause are thrown by creating instances of class Throwable as shown in the program.

5) What is the output of the following program?

import java.io.EOFException;
import java.io.IOException;

public class Test
{
	public static void main(String[] args)
	{
		try
		{
            System.out.printf("1");
			int value = 10 / 0;
			throw new IOException();
		}
		catch(EOFException e)
		{
			System.out.printf("2");
		}
		catch(ArithmeticException e)
		{
			System.out.printf("3");
		}
		catch(NullPointerException e)
		{
			System.out.printf("4");
		}
		catch(IOException e)
		{
			System.out.printf("5");
		}
		catch(Exception e)
		{
			System.out.printf("6");
		}
	}
}

a) 1346
b) 136726
c) 136
d) 13
Ans. (d)
Explanation: In multi-catch statements, the exceptions must be listed from more specific to more general. Only one catch statement which is most specific to the occurred exception is executed.

This article is contributed by Mayank Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.




Recommended Posts:



2.1 Average Difficulty : 2.1/5.0
Based on 6 vote(s)