Cara Menangani Pengecualian dengan Mudah di C++

Cara Menangani Pengecualian Dengan Mudah Di C



Kejadian tak terduga yang terjadi saat program sedang berjalan disebut sebagai pengecualian atau kesalahan. Pengecualian terjadi saat runtime, dan tidak dapat ditangkap saat kompilasi, sehingga dapat menyebabkan masalah serius pada program. Menangani pengecualian dengan baik dalam program C++ adalah tujuan utama seorang programmer untuk mendapatkan hasil yang diinginkan.

Cara Menangani Pengecualian dengan Mudah di C++

Penanganan Pengecualian di C++ mengacu pada mekanisme pendeteksian kesalahan run-time dan menanganinya secara efisien, seperti menangani input yang tidak valid, pembagian angka dengan nol dalam operasi pembagian, dan masih banyak lagi.

Penanganan Pengecualian di C++ melibatkan tiga kata kunci: coba, lempar, dan tangkap. Pernyataan try memungkinkan pengguna untuk menentukan blok kode yang mungkin memunculkan pengecualian dalam kode. Kata kunci throw memunculkan pengecualian jika terdeteksi setelah memeriksa blok di bawah kata kunci try. Kata kunci catch berisi blok kode yang dapat menangani pengecualian yang diamati di blok try.







Contoh 1: Penanganan Pengecualian Selama Pembagian

Kode ini ditulis untuk memeriksa pengecualian selama pembagian.



#termasuk
menggunakan ruang nama std ;

ke dalam utama ( ) {

dobel pembilang, penyebut, pembagian ;

cout << 'Masukkan nilai pembilang:' ;
makan >> pembilang ;

cout <> penyebut ;

mencoba {


jika ( penyebut == 0 )
melemparkan 0 ;


divisi = pembilang / penyebut ;
cout << pembilang << '/' << penyebut << ' = ' << divisi << akhir ;
}

menangkap ( ke dalam nomor_pengecualian ) {
cout << 'Kesalahan! Pembagi tidak boleh  ' << nomor_pengecualian << akhir ;
}

kembali 0 ;
}

Pada program ini, pengguna memasukkan nilai pembilang dan penyebut yang dideklarasikan pada bagian main(). Pada blok try, pernyataan if digunakan untuk memeriksa pengecualian apakah penyebutnya nol atau tidak. Karena pembagian tidak dapat dilakukan dengan pembagi nol jika penyebutnya ternyata 0, maka akan muncul pengecualian dan blok catch akan mengembalikan argumen kesalahan jika tidak maka operasi pembagian sederhana akan dilakukan.







Pengguna memasukkan pembilang 42 dan 0 pada penyebut, yang memunculkan pengecualian, sehingga program mengembalikan argumen kesalahan.



Pengguna memasukkan pembilang 42 dan 2 sebagai penyebut, karena tidak ditemukan pengecualian, hasil setelah pembagian akan kembali.

Contoh 2 Penanganan Pengecualian untuk Mengecek Usia

Program ini memeriksa pengecualian pada usia pengguna.

#termasuk
menggunakan ruang nama std ;

/*
Di sini, kami ingin menampilkan pengecualian (usia sebagai pengecualian) jika usia orang tersebut kurang dari 18 tahun.
*/

ke dalam utama ( )
{
// memeriksa apakah usianya lebih dari 18 tahun di blok percobaan.
mencoba
{
ke dalam usia ;
cout << 'Masukkan usia Anda untuk mengakses:' ;
makan >> usia ;

jika ( usia >= 18 )
{
cout << 'Akses diberikan.' ;
}
// pengecualian khusus ditampilkan jika usianya di bawah 18 tahun.
kalau tidak
{
melemparkan ( usia ) ;
}
}
// menangkap pengecualian yang dilempar dan menampilkan keluaran yang diinginkan (akses ditolak!)
menangkap ( ke dalam X )
{
cout << “Akses ditolak! Anda masih di bawah umur.” << akhir ;
}
kembali 0 ;
}

Dalam program ini, variabel dengan nilai integer didefinisikan. Pengguna diminta memasukkan usia dan blok coba memeriksa apakah usia pengguna di atas atau sama dengan 18 tahun. Jika tidak benar maka akan muncul pengecualian, dan blok pengecualian akan mengembalikan Akses ditolak! Argumen. Jika tidak, akses akan diberikan.

Pengguna memasukkan usia menjadi 12 tahun untuk memeriksa pemberian akses, karena usia ini di bawah 18 tahun, sehingga argumen Akses ditolak dikembalikan.

Pengguna memasukkan usia 20 tahun, karena usianya di atas 18 tahun, sehingga akses diberikan kepada pengguna.

Catatan : Jika tidak ada blok tangkapan dalam program, maka program akan berperilaku tidak normal dan berhenti secara tidak terduga jika ada pengecualian.

Kesimpulan

Penanganan Pengecualian di C++ mengacu pada mekanisme mendeteksi kesalahan run-time dan menanganinya secara efisien. Ini melibatkan tiga kata kunci coba, lempar, dan tangkap. Pengecualian diperiksa untuk kode di blok try, kata kunci throw memunculkan pengecualian jika ditemukan, dan blok catch menangani pengecualian yang dilempar untuk blok try. Menangani pengecualian membuat pengalaman pengguna lancar dan menyenangkan dengan menghindari kesalahan run-time.