Bermula dalam JDK 7, pengendalian pengecualian telah diperluaskan dengan tiga ciri baharu: pengurusan sumber automatik, tangkapan berbilang dan balingan semula yang lebih tepat.
Berbilang tangkapan membolehkan anda menangkap berbilang pengecualian dengan klausa tangkapan yang sama, mengelakkan pertindihan kod.
Untuk menggunakan berbilang tangkapan, nyatakan senarai pengecualian yang dipisahkan oleh | dalam fasal tangkapan. Setiap parameter adalah muktamad secara tersirat.
Contoh penggunaan: catch(final ArithmeticException | ArrayIndexOutOfBoundsException e) untuk menangkap kedua-dua pengecualian dengan klausa tangkapan yang sama.
Atur cara menjana ArithmeticException apabila cuba membahagi dengan sifar dan ArrayIndexOutOfBoundsException apabila mengakses indeks di luar sempadan tatasusunan. Kedua-dua pengecualian ditangkap oleh klausa tangkapan yang sama.
Ciri balingan semula yang lebih tepat mengehadkan jenis pengecualian yang boleh dibaling semula kepada:
1 Pengecualian yang disemak dilemparkan oleh blok percubaan.
2 Pengecualian tidak dikendalikan oleh klausa tangkapan sebelumnya.
3 Pengecualian yang merupakan subjenis atau superjenis parameter.
Parameter dalam blok tangkapan mestilah muktamad untuk menggunakan balingan semula akhir, yang bermaksud ia tidak boleh diberi nilai baharu di dalam blok tangkapan. Ini boleh dinyatakan secara eksplisit, tetapi tidak diperlukan.
Atas ialah kandungan terperinci Tiga ciri pengecualian yang baru ditambah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!