Understanding How Callable Handles Exceptions In Java Concurrency