1
JavaIntermediate#exceptions
It suppresses any exception from the try/catch block and propagates instead, which can hide the original error — a good reason to avoid throwing exceptions in finally blocks.
try {
try { throw new RuntimeException("original"); }
finally { throw new RuntimeException("from finally"); }
} catch (RuntimeException e) {
System.out.println(e.getMessage()); // "from finally", original is lost
}