Q23: What are Suppressed Exceptions in Java Try-With-Resources?
When an exception occurs inside a try block AND another exception occurs while automatically calling .close() during resource cleanup, the primary exception is thrown to the caller, while the cleanup exception is attached to it as a Suppressed Exception.
Retrieved using primaryException.getSuppressed(). Preventing cleanup failures from masking original root errors.
Key Takeaways
- Preserves root exceptions while capturing secondary resource closing errors.
- Accessed via
e.getSuppressed()array.
Knowledge Check
If both the try block and auto-close method throw an exception, which exception is thrown directly to the outer catch block?