Mulai dari Java 7, Anda tidak perlu lagi menutup sumber daya secara eksplisit di blok akhirnya, sebagai gantinya Anda dapat menggunakan sintaks try -with-resources. Pernyataan try-with-resources adalah pernyataan percobaan yang mendeklarasikan satu atau lebih resource. Sumber daya adalah objek yang harus ditutup setelah program selesai dengannya. Pernyataan coba-dengan-sumber daya memastikan bahwa setiap sumber daya ditutup di akhir pernyataan. Objek apa pun yang mengimplementasikan java.lang.AutoCloseable, yang menyertakan semua objek yang mengimplementasikan java.io.Closeable, bisa digunakan sebagai sumber daya.
Asumsikan kode berikut:
try( Connection con = null;
Statement stmt = con.createStatement();
Result rs= stmt.executeQuery(QUERY);)
{
count = rs.getInt(1);
}
Jika terjadi pengecualian, metode penutupan akan dipanggil pada masing-masing dari ketiga sumber daya ini dalam urutan yang berlawanan saat dibuat. Ini berarti metode tutup akan dipanggil pertama untuk ResultSetm kemudian Pernyataan dan di akhir untuk objek Connection.
Penting juga untuk mengetahui bahwa pengecualian apa pun yang terjadi saat metode tutup dipanggil secara otomatis akan disembunyikan. Pengecualian yang disembunyikan ini bisa diambil dengan metode getsuppressed () yang ditentukan di kelas Throwable .
Sumber: https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html