A comment (by user soc) on an answer to a question about tail call optimisation mentioned that Java 7 has a new feature called “suppressed exceptions”, because of “the addition of ARM” (support for ARM CPUs?).
What is a “suppressed exception” in this context? In other contexts a “suppressed exception” would be an exception that was caught and then ignored (rarely a good idea); this is clearly something different.
I believe the commenter is referring to is an exception which is semi-ignored when it’s thrown within the implicit
finallyblock of a try-with-resources block, in the context of an existing exception being thrown from thetryblock:(That’s quoting a section called “Suppressed Exceptions” from the linked page.)