Quick Answer
In multithreaded code: checked exceptions in Callable.call() are wrapped in ExecutionException when retrieved via Future.get(). In Runnable.run(), checked exceptions must be caught internally or wrapped in RuntimeException. CompletableFuture.exceptionally() and handle() catch async exceptions. Thread.UncaughtExceptionHandler catches exceptions that escape thread run() methods.
Answer
Checked exceptions must be declared or handled. Unchecked exceptions do not require declaration. Threads must handle exceptions internally; unhandled runtime exceptions terminate threads.
S
SugharaIQ Editorial Team
Verified Answer
This answer has been peer-reviewed by industry experts holding senior engineering roles to ensure technical accuracy and relevance for modern interview standards.