Challenge - 5 Problems
Try-Catch Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of try-catch with arithmetic exception
What is the output of this Java code snippet?
Java
public class Main { public static void main(String[] args) { try { int result = 10 / 0; System.out.println("Result: " + result); } catch (ArithmeticException e) { System.out.println("Cannot divide by zero"); } } }
Attempts:
2 left
💡 Hint
Think about what happens when dividing by zero in Java.
✗ Incorrect
Dividing by zero throws an ArithmeticException, which is caught and prints the message.
❓ Predict Output
intermediate2:00remaining
Output when no exception occurs in try block
What will be printed when this Java code runs?
Java
public class Main { public static void main(String[] args) { try { int result = 10 / 2; System.out.println("Result: " + result); } catch (ArithmeticException e) { System.out.println("Cannot divide by zero"); } } }
Attempts:
2 left
💡 Hint
No exception happens here, so catch block is skipped.
✗ Incorrect
Division 10/2 is valid, so try block prints the result and catch block is ignored.
🔧 Debug
advanced2:00remaining
Identify the error in try-catch syntax
Which option shows the code that will cause a compilation error due to incorrect try-catch syntax?
Attempts:
2 left
💡 Hint
Check the syntax of the catch block parentheses.
✗ Incorrect
Option D misses parentheses around Exception e in catch, causing a compilation error.
❓ Predict Output
advanced2:00remaining
Output with multiple catch blocks
What will this Java program print?
Java
public class Main { public static void main(String[] args) { try { int[] arr = new int[2]; System.out.println(arr[5]); } catch (ArithmeticException e) { System.out.println("Arithmetic Exception caught"); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Array index out of bounds caught"); } finally { System.out.println("Finally block executed"); } } }
Attempts:
2 left
💡 Hint
Which exception is thrown by accessing arr[5] when arr length is 2?
✗ Incorrect
Accessing arr[5] throws ArrayIndexOutOfBoundsException, caught by second catch block, then finally runs.
🧠 Conceptual
expert2:00remaining
Behavior of try-catch-finally with return statements
What is the output of this Java code?
Java
public class Main { public static int test() { try { return 1; } catch (Exception e) { return 2; } finally { return 3; } } public static void main(String[] args) { System.out.println(test()); } }
Attempts:
2 left
💡 Hint
Remember that finally block executes even after return statements.
✗ Incorrect
The finally block's return overrides any previous return in try or catch, so 3 is returned.