class SaluranKirim implements AutoCloseable {
    private final String nama;

    SaluranKirim(String nama) {
        this.nama = nama;
    }

    @Override
    public void close() {
        System.out.println("menutup " + nama);
        throw new IllegalStateException("gagal menutup " + nama);
    }
}

public class SuppressedDemo {
    public static void main(String[] args) {
        try (SaluranKirim saluran = new SaluranKirim("saluran-1")) {
            throw new ArithmeticException("badan try gagal lebih dulu");
        } catch (Exception utama) {
            System.out.println("utama     : " + utama.getClass().getSimpleName()
                    + " -> " + utama.getMessage());
            for (Throwable t : utama.getSuppressed()) {
                System.out.println("tertindih : " + t.getClass().getSimpleName()
                        + " -> " + t.getMessage());
            }
        }
    }
}
