Java · Avançado · Inglês · Técnico
suppressed exception
Exceção secundária anexada à principal por addSuppressed, usada sobretudo pelo try-with-resources quando close() falha depois de o corpo já ter lançado erro.
Onde usar
Aparece em stack traces com a linha 'Suppressed:'. Em review: 'não perca a exceção original ao fechar recursos'.
Em código
class R implements AutoCloseable {
public void close() {
throw new IllegalStateException("close");
}
}
try (var r = new R()) {
throw new RuntimeException("corpo");
} catch (Exception e) { e.getSuppressed(); }Exemplos
The close failure shows up as a suppressed exception.
A falha do close aparece como uma suppressed exception.
Check getSuppressed to see the secondary errors.
Confira getSuppressed para ver os erros secundários.
Cuidado
O close que falha não substitui a exceção principal; as secundárias ficam disponíveis em getSuppressed().
Sinônimos
exceção suprimida