Cuba-Dengan-Sumber lwn. Cuba-Tangkap: Perbezaan dan Pilihan Yang Lebih Baik
Di Java, cuba-dengan-sumber dan cuba -penyataan tangkapan mempunyai tujuan yang sama dalam mengendalikan pengecualian, tetapi ia menunjukkan perbezaan yang ketara.
Cuba-Dengan-Sumber
Diperkenalkan dalam Java 7, cuba-dengan-sumber memudahkan pengurusan sumber dengan memastikan sumber ditutup secara automatik apabila meninggalkan blok percubaan, walaupun dengan adanya pengecualian. Ini menghapuskan keperluan untuk penutupan sumber eksplisit melalui sekatan akhirnya, mengurangkan kod boilerplate dan kemungkinan ralat.
Contoh:
<code class="java">try (FileOutputStream outStream = new FileOutputStream("people.bin")) { // Code using outStream }</code>
Dalam kod di atas, FileOutputStream ialah ditutup secara automatik apabila blok cuba keluar, tidak kira sama ada pengecualian berlaku.
Try-Catch
Pernyataan try-catch yang lebih tradisional melaksanakan blok kod dan menangkap sebarang pengecualian yang mungkin berlaku di dalamnya. Pengecualian kemudiannya dikendalikan dalam blok tangkapan.
Contoh:
<code class="java">try { // Code that may throw exceptions } catch (Exception e) { // Exception handling code }</code>
Perbezaan
Pilihan yang Lebih Baik
Bagi kebanyakan kes, cuba-dengan-sumber adalah pilihan yang lebih baik kerana pengurusan sumber yang dipertingkatkan dan keupayaan pengendalian pengecualian. Ia menghapuskan keperluan untuk penutupan sumber manual dan mengurangkan risiko menutup pengecualian, memudahkan kod dan meningkatkan kebolehpercayaan.
Atas ialah kandungan terperinci Try-With-Resources vs. Try-Catch: Mana Yang Perlu Anda Pilih untuk Pengendalian Pengecualian di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!