Penanganan pengecualian: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Wiramaswara (bicara | kontrib)
←Membuat halaman berisi '{{stub}} '''Penanganan Pengecualian''' (Bahasa Inggris: ''Exception Handling'') merupakan istilah di dalam bidang Ilmu Komputer yang merujuk ke...'
Tag: tanpa kategori [ * ]
 
Wiramaswara (bicara | kontrib)
Tidak ada ringkasan suntingan
Baris 2:
 
'''Penanganan Pengecualian''' ([[Bahasa Inggris|Bahasa Inggris]]: ''Exception Handling'') merupakan istilah di dalam bidang [[Ilmu Komputer]] yang merujuk kepada mekanisme respon dari munculnya "pengecualian" dari suatu proses komputasi. "Pengecualian" yang dimaksud adalah suatu keadaan tidak normal yang terjadi ketika eksekusi suatu program sehingga membutuhkan proses khusus yang bahkan dapat mengubah alur program itu sendiri. Pada [[Ilmu Komputer]], penanganan pengecualian dapat dilakukan dari sisi perangkat lunak maupun perangkat keras. [[Perangkat lunak]] mengimplementasikan fitur penanganan pengecualian melalui suatu mekanisme yang disediakan oleh bahasa pemrograman, sedangkan [[Perangkat Keras]] menggunakan fitur pendeteksi kesalahan yang tertanam pada piranti keras untuk menangani kesalahan yang terjadi dalam proses komputasi.
 
Secara garis besar, suatu pengecualian ditangani dengan menyimpan keadaan eksekusi saat ini pada suatu tempat dan memindahkan eksekusi ke subrutin baru yang disebut penangan pengecualian ([[Bahasa Inggris]]: ''Exception Handler'). Jika program bisa dikembalikan ke alur semula, penangan pengecualian akan melanjutkan proses ke subrutin utama yang sebelumnya terpotong oleh adanya pengecualian ini. Contoh pengecualian yang bisa dikembalikan adalah pembagian oleh nol, sementara contoh pengecualian yang tidak bisa dikembalikan (program akan dihentikan) adalah masalah kekurangan memori.
 
== Penanganan pengecualian dalam bahasa pemrograman ==
 
Bahasa pemrograman C secara bawaan tidak memiliki mekanisme untuk penanganan pengecualian secara komprehensif. Penanganan hanya dilakukan dengan mengendalikan alur program menggunakan percabangan ''if else'' jika terjadi kesalahan yang dimaksud.
 
Hal tersebut berbeda dengan bahasa pemrograman modern yang berbasis objek seperti [[C++]], [[C#]], [[Java]], dan [[Python]]. Bahasa pemrograman tersebut memiliki mekanisme penangkapan suatu pengecualian jika dilempar pada saat program dieksekusi.
 
Sintaks yang umumnya digunakan untuk penanganan pengecualian adalah ''try'' dan ''catch'' yang dituliskan sebagai sebuah bentuk blok yang terdiri dari beberapa baris rutin didalamnya. Pada blok ''try'', rutin program secara normal akan ditulis kemudian jika terjadi pelemparan ''throw'' suatu pengecualian, maka program akan dialihkan ke blok ''catch'' sesuai dengan jenis pengecualiannya.