Pengecualian yang Dicentang dan Tidak Dicentang – Tabel Perbedaan mereka yang mendasar

Perbedaan mendasar

Pengecualian yang Diperiksa

Pengecualian yang tidak dicentang

Definisi

Pengecualian yang diperiksa adalah yang harus ditangkap dan ditangani oleh pernyataan pemeriksaan ().

Pengecualian yang Tidak Dicentang seharusnya tidak perlu ditangkap atau ditangani sama sekali.

Kejadian

Pengecualian yang diperiksa harus ditangani oleh blok penangkap selama waktu kompilasi.

Pengecualian yang tidak tertangkap juga dikenal sebagai pengecualian runtime adalah Pengecualian yang Tidak Dicentang.

Penanganan Kesalahan

Pengecualian yang Dicentang menghentikan program agar tidak berjalan hingga mencoba menangkap bug atau kesalahan.

Merupakan tanggung jawab pemrogram untuk memastikan kesalahan ini tidak pernah terjadi.

Kelas Pengecualian

Itu memang memiliki kelas yang luar biasa.

Itu tidak memiliki kelas luar biasa atau bukan bagian utama dari kelas luar biasa.

Contoh

OutOfMemoryError, NullPointerException dan StackOverflowError.

IndexOutOfBoundsException

Memeriksa pengecualian adalah salah satu hal terpenting dalam pemrograman dan pengujian perangkat lunak. Pengecualian yang Dicentang dan Tidak Dicentang menghentikan program agar tidak berjalan saat mencoba menangkap bug atau kesalahan.

Selain itu, dianggap sebagai tanggung jawab pemrogram untuk memastikan kesalahan ini tidak pernah terjadi. Pengecualian yang Dicentang dan Tidak Dicentang sangat mirip, namun keduanya berbeda satu sama lain.

Pengecualian yang Dicentang berbeda dengan Tidak Dicentang:

Perbedaan antara Pengecualian yang Diperiksa dan Tidak Dicentang adalah Pengecualian yang diperiksa adalah yang harus ditangkap dan ditangani oleh pernyataan pemeriksaan () atau mereka akan menyebabkan program berhenti dan mencetak jejak tumpukan, sedangkan, pengecualian yang Tidak Dicentang, di sisi lain, harus tidak perlu ditangkap atau ditangani sama sekali, karena merupakan tanggung jawab pemrogram untuk memastikan kesalahan ini tidak pernah terjadi.

Pengecualian yang diperiksa adalah jenis pengecualian khusus yang menghentikan program dari berjalan hingga ditangkap oleh blok penangkap atau ditentukan dalam klausa lemparan dari suatu metode, terlebih lagi, Pengecualian yang diperiksa ditangkap dan ditangani oleh pernyataan pemeriksaan () atau mereka akan menyebabkan program berhenti dan mencetak jejak tumpukan.

Jika kode yang menyebabkan pengecualian tidak diuji dengan benar, ini dapat menyebabkan bug luar biasa aneh yang tidak dicentang yang mungkin sulit ditemukan dan diperbaiki.

Selain itu, pengecualian yang tidak dicentang seharusnya tidak perlu ditangkap atau ditangani sama sekali, karena merupakan tanggung jawab pemrogram untuk memastikan kesalahan ini tidak pernah terjadi.

Tabel perbandingan:

Perbedaan mendasar

Pengecualian yang Diperiksa

Pengecualian yang tidak dicentang

Definisi

Pengecualian yang diperiksa adalah yang harus ditangkap dan ditangani oleh pernyataan pemeriksaan ().

Pengecualian yang Tidak Dicentang seharusnya tidak perlu ditangkap atau ditangani sama sekali.

Kejadian

Pengecualian yang diperiksa harus ditangani oleh blok penangkap selama waktu kompilasi.

Pengecualian yang tidak tertangkap juga dikenal sebagai pengecualian runtime adalah Pengecualian yang Tidak Dicentang.

Penanganan Kesalahan

Pengecualian yang Dicentang menghentikan program agar tidak berjalan hingga mencoba menangkap bug atau kesalahan.

Merupakan tanggung jawab pemrogram untuk memastikan kesalahan ini tidak pernah terjadi.

Kelas Pengecualian

Itu memang memiliki kelas yang luar biasa.

Itu tidak memiliki kelas luar biasa atau bukan bagian utama dari kelas luar biasa.

Contoh

OutOfMemoryError, NullPointerException dan StackOverflowError.

IndexOutOfBoundsException

Pengertian Pengecualian Tercentang?:

Pengecualian yang Dicentang terkait erat dengan pengujian perangkat lunak, apalagi, pengecualian yang diperiksa adalah pengecualian yang harus ditangani, atau program akan dihentikan.

Ini berarti kode yang mengikuti pernyataan lemparan tidak akan dieksekusi jika tidak ada blok tangkap yang menangani pengecualian.

Pengecualian yang dicentang melayani dua tujuan yaitu menghentikan program untuk melanjutkan ketika terjadi kesalahan, dan mereka dapat memberikan informasi debug tentang di mana menemukan kesalahan itu.

Kompiler tidak memaksa pemrogram untuk menangani pengecualian, tetapi setiap kelas yang memperluas kelas lain juga harus memperluas atau mengimplementasikan semua pengecualian yang diperiksa.

Jika tidak, kompilasi kelas perluasan gagal dengan kesalahan waktu kompilasi yang menyatakan bahwa ia harus menangani semua pengecualian yang diperiksa kelas supernya. Ini mencegah warisan digunakan untuk menghindari mode kegagalan bawaan.

Saat sebuah pengecualian dilemparkan, itu diteruskan ke debugger di Eclipse atau ke sistem operasi, yang kemudian menghentikan program secara normal. Sistem operasi mencetak jejak tumpukan.

Pelacakan tumpukan memberikan informasi untuk setiap pemanggilan metode sesuai urutan pemanggilannya. Hal ini memungkinkan programmer untuk menemukan di mana dalam kode atau di mana dalam aliran eksekusi kode mereka terjadi pengecualian.

Pengertian Pengecualian yang Tidak Dicentang?:

Ada pengecualian yang tidak dicentang untuk memungkinkan pemrogram memprogram lebih fleksibel dan efisien. Java telah dirancang untuk memungkinkan pemrogram membuat aplikasi yang menggunakan sumber daya secara efisien dan menghindari munculnya kebuntuan.

Pengecualian yang tidak dicentang dapat dihilangkan dengan desain yang cermat dan praktik pengkodean. Namun, semua pengecualian lain kecuali NullPointerException yang muncul dalam kode Java dianggap tidak dicentang.

Pengecualian yang tidak dicentang seharusnya tidak perlu ditangkap atau ditangani sama sekali.

Selain itu, Mereka adalah cara kode tingkat tinggi untuk memberi tahu kode tingkat rendah bahwa ia akan melakukan sesuatu yang tidak aman untuk thread, tetapi itu tidak akan menimbulkan masalah jika hanya ada satu utas yang berjalan pada waktu tertentu, seperti seperti memperbarui beberapa data atau merender beberapa grafik di layar.

Menggunakan pengecualian yang tidak dicentang adalah proposisi yang berisiko. Jika sebuah kelas akan melempar pengecualian yang tidak dicentang, maka siapa yang menggunakan kelas itu harus menyadarinya dan memiliki beberapa metode yang ketat untuk menghadapinya.

Misalnya, seorang programmer mungkin ingin membaca beberapa data dari file dan kemudian menulisnya kembali, dan fungsi semacam ini tidak memerlukan sinkronisasi apa pun.

Sangat dapat diterima bagi aplikasi untuk membaca data yang sama dua kali pada dua utas yang berbeda tanpa memiliki efek negatif apa pun pada kinerja atau stabilitas sistem.

Perbedaan Utama Antara Pengecualian yang Dicentang dan Tidak Dicentang:

  1. Pengecualian yang Dicentang adalah yang harus ditangkap dan ditangani oleh pernyataan pemeriksaan (), sedangkan Pengecualian yang Tidak Dicentang seharusnya tidak perlu ditangkap atau ditangani sama sekali.
  2. Pengecualian yang Dicentang harus ditangani oleh blok catch selama waktu kompilasi, sedangkan Pengecualian yang Tidak Tertangkap juga dikenal sebagai pengecualian runtime adalah Pengecualian yang Tidak Dicentang.
  3. Pengecualian yang Dicentang menghentikan program dari berjalan hingga mencoba menangkap bug atau kesalahan, sedangkan Pengecualian yang Tidak Dicentang adalah tanggung jawab programmer untuk memastikan kesalahan ini tidak pernah terjadi.
  4. Pengecualian yang Dicentang memang memiliki kelas luar biasa, sedangkan, Pengecualian yang Tidak Dicentang tidak memiliki kelas luar biasa atau bukan bagian utama dari kelas luar biasa.
  5. Contoh Pengecualian yang Dicentang adalah OutOfMemoryError, NullPointerException, dan StackOverflowError sedangkan, contoh Pengecualian yang Tidak Dicentang adalah IndexOutOfBoundsException.

Referensi:

  1. https://ieeexplore.ieee.org/abstract/document/4343929/
  2. https://link.springer.com/article/10.1023/A:1010020917337

Saya telah berusaha keras menulis posting blog ini untuk memberikan nilai kepada Anda. Ini akan sangat membantu saya, jika Anda mempertimbangkan untuk membagikannya di media sosial atau dengan teman/keluarga Anda. BERBAGI ADALAH ♥️

Related Posts