Daftar Isi:
Definisi - Apa artinya Penanganan Eksepsi?
Penanganan pengecualian adalah suatu mekanisme di mana konstruksi pemrograman digunakan untuk secara konsisten menjebak, mencegat dan menangani kesalahan yang terjadi selama eksekusi aplikasi. Common Language Runtime (CLR) dari .NET Framework dirancang untuk menggunakan model penanganan pengecualian berdasarkan objek pengecualian dan blok kode yang dilindungi.
Fitur mekanisme penanganan pengecualian yang diterapkan dalam CLR adalah sebagai berikut:
a) Setiap bahasa dapat memiliki spesifikasi sendiri untuk menangani pengecualian tanpa batasan apa pun
b) Pengecualian dihasilkan dan ditangani terlepas dari bahasa yang digunakan dan jenis kode (dikelola atau tidak dikelola)
c) Pengecualian dapat dilemparkan melintasi batas proses atau mesin
Techopedia menjelaskan Penanganan Eksepsi
.NET runtime melempar pengecualian sebagai objek yang berasal dari kelas System.Exception yang berisi detail kesalahan, termasuk pesan dan baris kode tempat kesalahan terjadi, dll. Konstruk "coba..catch..finally" digunakan untuk penanganan pengecualian. Sementara "coba" (di mana pengecualian diantisipasi) dan "catch" (di mana pengecualian ditangani) adalah wajib, blok "akhirnya" (di mana kode dieksekusi dalam kasus apa pun) adalah opsional.
Jika dibandingkan dengan penanganan kesalahan yang diimplementasikan menggunakan metode tradisional - seperti penggunaan kode pengembalian seperti dalam Component Object Model (COM) dan pernyataan "go to", seperti dalam Visual Basic, dll. - manfaat utama pengecualian di .NET adalah menjebak semua kegagalan, penghapusan proses pemeriksaan nilai kembali dan penggunaannya (jika tidak valid) dalam aplikasi, penggunaan dalam skenario di mana tidak ada nilai balik seperti konstruktor, peningkatan keandalan dan kinerja yang lebih baik.
Meskipun Java memberikan pengecualian "dicentang" yang membantu mencegah timbulnya pengecualian yang tidak ditangani selama kompilasi, Java tidak dapat digunakan untuk kesalahan yang merupakan kegagalan yang tidak dapat dipulihkan. Penanganan pengecualian di C ++ berbeda dari yang ada di .NET dengan tidak memiliki blok "akhirnya" untuk membersihkan sumber daya dan tanpa batasan untuk jenis pengecualian.