Multiple choice

What will be the output of the program? public class RTExcept { public static void throwit () { System.out.print("throwit "); throw new RuntimeException(); } public static void main(String [] args) { try { System.out.print("hello "); throwit(); } catch (Exception re ) { System.out.print("caught "); } finally { System.out.print("finally "); } System.out.println("after "); } }

  1. hello throwit caught

  2. Compilation fails

  3. hello throwit RuntimeException caught after

  4. hello throwit caught finally after

Reveal answer Fill a bubble to check yourself
D Correct answer
Explanation

The main() method properly catches and handles the RuntimeException in the catch block, finally runs (as it always does), and then the code returns to normal. A, B and C are incorrect based on the program logic described above. Remember that properly handled exceptions do not cause the program to stop executing.