Challenge 1: Catching ArithmeticException With a finally Block — Possible Solution ==================================================================== DivideDemo.java: public class DivideDemo { public static void main(String[] args) { try { int result = 10 / 0; System.out.println("Result: " + result); } catch (ArithmeticException e) { System.out.println("Caught: " + e.getMessage()); } finally { System.out.println("This always runs."); } } } Output: Caught: / by zero This always runs. Explanation: 10 / 0 with two ints throws ArithmeticException at runtime (integer division by zero is not a compile-time error in Java). The catch block matches it specifically and prints its message. The finally block then runs unconditionally -- it would have run identically even if no exception had been thrown at all, or if a completely different exception type had propagated past this catch. WHY THIS WORKS AS AN ANSWER ------------------------------ This catches a specific exception type (ArithmeticException) rather than a broad Exception, per the chapter's own tip-box, and demonstrates finally running regardless of the try block's outcome.