Sumber: Medium Posting ini akan membantu Anda lebih memahami cara menangani pengecualian secara efektif di Java. Menangani pengecualian Java bisa jadi menantang. Mungkin sulit untuk menentukan pengecualian Java mana yang harus ditangani, pengecualian mana yang perlu dimunculkan kembali, dan mana yang diabaikan begitu saja. Namun, ada sejumlah pedoman berguna yang secara efektif dapat membantu Anda menangani pengecualian dan membuat aplikasi baru. Mari berkenalan dengan mereka.
- Berhati-hatilah dengan apa yang Anda catat.
- Jangan abaikan pengecualian yang diberikan.
- Gunakan penangan pengecualian global.
- Jangan menutup sumber daya secara manual.
- Lemparkan lebih awal dan tangani pengecualian nanti.
- Pengecualian Java tidak boleh dicatat dan ditampilkan kembali.
- Periksa pengecualian yang disembunyikan.
- Dalam pernyataan throw, nyatakan pengecualian dengan tepat.
- Tangani pengecualian yang paling jelas terlebih dahulu.
- Gunakan semantik penanganan pengecualian modern.
1. Berhati-hatilah dengan apa yang Anda catat
Pengembang perangkat lunak harus selalu menyadari hak kliennya atas keamanan dan privasi.- Program Java dapat memindahkan data ke sistem lain, dan sejumlah besar pengembang dan administrator dapat bekerja dengannya (termasuk memperbaiki bug).
- Jika ada data sensitif yang dicatat dalam file log, perusahaan Anda tidak akan mematuhi persyaratan keamanan dan Anda mungkin kehilangan pekerjaan.
2. Jangan abaikan pengecualian yang diberikan
Jangan menangkap pengecualian lalu mengabaikannya. Menyembunyikan pengecualian bukanlah cara yang baik untuk menanganinya di Java. Minimal, tuliskan nama pengecualian dan pesan terkait. Dengan cara ini, informasi mengenai masalah dapat ditemukan di entri Anda. Men-debug aplikasi Java karena pengecualian tersembunyi sangatlah sulit.3. Gunakan penangan pengecualian global
Selama eksekusi program akan selalu ada beberapa pengecualian yang sebelumnya tidak tertangkap dalam kode Anda. Oleh karena itu, selalu tambahkan pengendali pengecualian global untuk menangani pengecualian yang tidak tertangkap. Hal ini tidak hanya memungkinkan pengecualian untuk dicatat dan ditangani, namun juga akan mencegah aplikasi mogok jika pengecualian dilemparkan pada waktu proses.4. Jangan menutup sumber daya secara manual
Rekomendasi penting lainnya ketika menangani pengecualian Java adalah mengizinkan JVM memanggil metode close() pada sumber daya yang ditutup. Jangan mencoba menutupnya sendiri. Hal ini dapat dicapai dengan mudah dengan menginisialisasi sumber daya di dalam modul try-resources . Semantik:public class TryWithResourcesExample {
public static void main(String[] args) throws Exception {
try (Door door = new Door()) {
door.swing();
} catch (Exception e) { ..... }
} finally { .....}
}
}
Seperti yang Anda lihat, setelah blok try...catch selesai, JVM menutup sumber daya untuk Anda, menghilangkan kemungkinan kebocoran sumber daya yang rumit dan sulit diperbaiki.
5. Lemparkan lebih awal dan tangani pengecualian nanti
Lemparkan pengecualian setiap kali kondisi pengecualian terjadi pada kode Anda. Jangan menunggu baris kode apa pun dieksekusi sebelum keluar dari metode yang Anda gunakan. Saat menangkap pengecualian, fungsi tersebut harus ditempatkan di akhir metode. Hal ini mengurangi jumlah blok tangkapan dalam metode Anda, membuat kode Anda lebih mudah dibaca dan dipelihara.6. Pengecualian Java tidak boleh dicatat dan ditampilkan kembali
Jika terjadi pengecualian, lakukan salah satu hal berikut:- Lanjutkan bekerja dengan program Anda saat Anda mencatat pengecualian.
- Lemparkan pengecualian lagi dan izinkan cara lain untuk mencatat data.
try {
Class.forName("com.min.Example");
} catch (ClassNotFoundException ex) {
log.warning("Class was not found.");
throw ex;
}
Hal ini mengakibatkan duplikasi kode dan file log menjadi tersumbat dengan entri duplikat, sehingga lebih sulit untuk mendiagnosis kode.
GO TO FULL VERSION