Blok cuba-tangkap-akhirnya ialah cara tradisional untuk mengendalikan pengecualian dan mengurus sumber seperti pemegang fail, sambungan pangkalan data, dll.
Blok cuba-tangkap-akhirnya terdiri daripada tiga bahagian:
FileReader reader = null; try { reader = new FileReader("example.txt"); // Perform file operations } catch (IOException e) { e.printStackTrace(); } finally { try { if (reader != null) { reader.close(); } } catch (IOException ex) { ex.printStackTrace(); } }
Blok cuba-tangkap-akhirnya tradisional memerlukan pengendalian manual pembersihan sumber, yang boleh membawa kepada kod verbose dan kemungkinan ralat, seperti terlupa menutup sumber.
Gunakan cuba-tangkap-akhirnya apabila anda perlu mengurus sumber yang tidak boleh ditutup secara automatik atau apabila keserasian dengan versi Java yang lebih lama diperlukan.
Diperkenalkan dalam Java 7, pernyataan cuba-dengan-sumber memudahkan pengurusan sumber dengan menutup sumber secara automatik yang melaksanakan antara muka AutoCloseable.
Pernyataan cuba-dengan-sumber memastikan setiap sumber ditutup pada penghujung penyata, mengurangkan kod boilerplate dan risiko kebocoran sumber.
try (FileReader reader = new FileReader("example.txt")) { // Perform file operations } catch (IOException e) { e.printStackTrace(); }
Mari kita lihat demo di mana kita membandingkan cuba-tangkap-akhirnya dan cuba-dengan-sumber menggunakan operasi membaca fail yang mudah.
FileReader reader = null; try { reader = new FileReader("example.txt"); BufferedReader bufferedReader = new BufferedReader(reader); System.out.println(bufferedReader.readLine()); } catch (IOException e) { e.printStackTrace(); } finally { try { if (reader != null) { reader.close(); } } catch (IOException ex) { ex.printStackTrace(); } }
try (FileReader reader = new FileReader("example.txt"); BufferedReader bufferedReader = new BufferedReader(reader)) { System.out.println(bufferedReader.readLine()); } catch (IOException e) { e.printStackTrace(); }
Kesimpulannya, sementara kedua-dua cuba-tangkap-akhirnya dan cuba-dengan-sumber ialah alat penting untuk pengendalian pengecualian dan pengurusan sumber di Java, cuba-dengan- sumber menawarkan pendekatan yang lebih diperkemas dan tahan ralat. Ia secara automatik mengendalikan penutupan sumber, menghasilkan kod yang lebih bersih dan lebih boleh diselenggara. Apabila bekerja dengan sumber yang melaksanakan antara muka AutoCloseable, pilih cuba-dengan-sumber untuk kesederhanaan dan kebolehpercayaannya.
Sila komen di bawah jika anda mempunyai sebarang pertanyaan atau memerlukan penjelasan lanjut!
Baca siaran lebih lanjut di : Apakah Try-With-Resource dalam Java dan Bagaimanakah ia Berbeza dengan Try-Catch-Finally?
Atas ialah kandungan terperinci Apakah Try-With-Resource dalam Java dan Bagaimanakah ia Berbeza dengan Try-Catch-Finally?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!