C++ Coba-Tangkap-Akhirnya

C Coba Tangkap Akhirnya



C++ menyediakan metode “coba-tangkap” untuk menangani pengecualian. Ketika pengecualian terjadi dalam program C++, metode “coba-tangkap” ini membantu mengalihkan kontrol dari satu bagian kode program ke bagian lainnya. Pengecualian adalah kesalahan yang muncul saat program sedang berjalan. Ketika situasi luar biasa, seperti mencoba membagi dengan nol, terjadi saat program dijalankan, pengecualian C++ dimunculkan dan kami menangani situasi ini hanya dengan menggunakan metode “coba-tangkap” dalam kode kami. Ini berisi tiga kata kunci: “coba”, “tangkap”, dan “lempar”. Kata kunci “throw” digunakan untuk melemparkan pengecualian di bagian kode lain. Pemrograman C++ tidak memfasilitasi kita dengan kata kunci “akhirnya”, tetapi kita dapat menggunakan kata kunci “coba”, “tangkap”, dan “lempar” pada kode C++.

Contoh 1:

'iostream' disertakan di sini, file header di mana beberapa fungsi dideklarasikan. Kami menggunakan fungsi-fungsi yang dideklarasikan dalam file header ini dalam kode kami, jadi kami menyertakan file header ini. Setelah ini, kita memiliki “std” yang ditempatkan di sini karena fungsi seperti “cin” dan “cout” juga didefinisikan di dalamnya. Kita tidak perlu mengetikkan “std” dengan semua fungsi ini jika kita menambahkan “namespace std” di awal kode kita. Setelah ini, fungsi “main()” dipanggil di sini yang juga disebut sebagai kode driver program C++.

Kemudian, kami menggunakan kata kunci “coba” di sini di mana kami menginisialisasi “angka_saya1” dengan nilai “35”. Ini adalah variabel tipe data “int” di sini. Sekarang, kita tempatkan variabel ini di dalam “if” dan berikan kondisi yang menyatakan bahwa “angka_saya1” harus lebih besar atau sama dengan “98”. Jika kondisi yang diberikan terpenuhi, ia akan bergerak maju ke dalam “if” dan mengeksekusi pernyataan yang ditulis di sini. Kami menggunakan 'cout' dan menyisipkan pesan untuk ditampilkan ketika kondisi terpenuhi.







Setelah ini, kami menggunakan kata kunci “lempar” setelah menempatkan “lain”. Dalam kata kunci “lempar” ini, kami meneruskan “angka_saya1” sebagai parameternya. Kami menambahkan bagian 'tangkap' di bawah ini. Kami memasukkan “my_num2” sebagai parameter “catch()” dan kemudian menggunakan “cout” lagi di dalam bagian “catch” ini. Bagian ini dijalankan hanya ketika pengecualian terjadi di bagian “coba”.



Kode 1:



#termasuk
menggunakan ruang nama std ;
ke dalam utama ( ) {
mencoba {
ke dalam nomor_saya1 = 35 ;
jika ( nomor_saya1 >= 98 ) {
cout << 'Akses diberikan di sini.' ;
} kalau tidak {
melemparkan ( nomor_saya1 ) ;
}
}
menangkap ( ke dalam nomor_saya2 ) {
cout << 'Aksesnya ditolak di sini.' << akhir ;
cout << 'Nomornya adalah:' << nomor_saya2 ;
}
kembali 0 ;
}

Keluaran:
Angka yang kita masukkan adalah “35” yang kurang dari “98”. Jadi, pengecualian terjadi di sana dan bagian “catch()” ditampilkan. Akses ke bagian “coba” ditolak.





Contoh 2:

Kami menempatkan file header 'iostream' di sini dan 'namespace std'. Setelah ini, kita membuat fungsi “division()” di mana kita menempatkan dua parameter yaitu “pembilang” dan “penyebut” dari tipe data “int”. Kami menetapkan tipe data fungsi “pembagian” ini menjadi “ganda”.



Di bawahnya, kita tambahkan “if()” yang mana kita menambahkan syarat penyebutnya sama dengan nol. Setelah ini, kami menggunakan kata kunci “lempar” dan mengetik pesan di sana. Pesan ini diberikan setiap kali pengecualian terjadi pada kode ini sesuai dengan kondisi. Di bawahnya, kami menggunakan kata kunci “return” di mana kami menempatkan “pembilang/penyebut”. Jadi, ini mengembalikan hasil pembagian. Sekarang, fungsi “main()” dipanggil.

Setelah ini, “num1” dan “num2” diinisialisasi sebagai variabel “int” dan menetapkan “89” dan “0” ke variabel tersebut masing-masing. Kemudian, kita menginisialisasi “hasil” dari tipe data “ganda”. Di sini, kami menggunakan kata kunci “coba”. Di bagian ini, kita menambahkan variabel “hasil” ini dan menetapkan fungsi “divisi()” ke variabel ini. Kami meneruskan dua parameter ke fungsi ini: “num1” dan “num2”. Di bawahnya, kami menampilkan “hasil” yang kami peroleh setelah menerapkan fungsi “division()”. Setelah ini, kami juga menggunakan “catch” dan menempatkan “const char* msg” untuk menampilkan pesan yang kami tambahkan sebelumnya.

Kode 2:

#termasuk
menggunakan ruang nama std ;
dobel divisi ( ke dalam pembilang , ke dalam penyebut ) {
jika ( penyebut == 0 ) {
melemparkan 'Pembagian dengan nol tidak mungkin dilakukan di sini!' ;
}
kembali ( pembilang / penyebut ) ;
}
ke dalam utama ( ) {
ke dalam nomor1 = 89 ;
ke dalam nomor 2 = 0 ;
dobel hasil = 0 ;
mencoba {
hasil = divisi ( nomor1, nomor2 ) ;
cout << hasil << akhir ;
} menangkap ( konstanta arang * pesan ) {
Cerr << pesan << akhir ;
}
kembali 0 ;
}

Keluaran:
Angka yang sebelumnya kita masukkan sebagai penyebutnya adalah “0”. Jadi, pengecualian terjadi pada kode dan menampilkan pesan yang diberikan.

Contoh 3:

Fungsi “perkalian()” dibuat di sini di mana kita menempatkan “nilai” dan “pengganda” sebagai parameter tipe data “int”. Kemudian, kita menggunakan “if” yang mana kita menambahkan kondisi pengali yang sama dengan nol. Kemudian, “throw” ditempatkan di mana kita menambahkan pernyataan. Kemudian, kita memiliki “return” di mana kita menempatkan variabel “nilai * pengali” yang kita deklarasikan sebelumnya. Jadi, ini mengembalikan hasil perkalian di sini.

Setelah ini, kita memanggil “main()” di mana kita mendeklarasikan “int value1” dan “int value2” dengan nilai masing-masing “34” dan “0”. “int m_res” juga dideklarasikan dan kemudian disebut fungsi “perkalian()” di sini. Setelah menjalankan fungsi ini, hasilnya sekarang disimpan dalam variabel “m_res” dan kemudian ditampilkan. Selanjutnya, kami menggunakan fungsi 'catch' dan memasukkan 'const char* msg' untuk menampilkan pesan yang sebelumnya kami tambahkan di bagian 'throw'.

Kode 3:

#termasuk
menggunakan ruang nama std ;
dobel perkalian ( ke dalam nilai , ke dalam pengali ) {
jika ( pengali == 0 ) {
melemparkan “Kami tidak mengalikan nilainya dengan nol!” ;
}
kembali ( nilai * pengali ) ;
}
ke dalam utama ( ) {
ke dalam nilai1 = 3.4 ;
ke dalam nilai2 = 0 ;
ke dalam m_res ;
mencoba {
m_res = perkalian ( nilai1, nilai2 ) ;
cout << m_res << akhir ;
} menangkap ( konstanta arang * pesan ) {
Cerr << pesan << akhir ;
}
kembali 0 ;
}

Keluaran :
Karena nilai yang kita masukkan sebelumnya memiliki “0” sebagai pengali, kode tersebut memiliki pengecualian yang menyebabkan pemberitahuan ditampilkan di sini.

Contoh 4:

Di sini, kita membangun fungsi “multiply()” dan memasukkan “number1” dan “number2” sebagai parameter tipe data “int”. Selanjutnya, kita menggunakan operator “if” untuk menambahkan kondisi yang merupakan pengali yang kurang dari atau sama dengan nol. Setelah itu, pernyataan ditambahkan di mana seharusnya “melempar”. Hasil perkaliannya kemudian dikembalikan pada bagian “return” dimana kita memasukkan variabel “number1 * number2” yang telah kita deklarasikan sebelumnya.

Selanjutnya, kita memanggil fungsi “main()” dan menetapkan nilai “34” dan “12” masing-masing ke “int newNumber1” dan “int newNumber2”. Di sini, fungsi “multiply()” dipanggil setelah deklarasi “int mResult”. Sekarang, hasil dari fungsi ini disimpan dalam variabel “mResult” dan dirender sebagai berikut. Kami kemudian menggunakan fungsi “catch” dan menambahkan “const char* msg” untuk menampilkan pesan yang kami tulis di bagian “throw”.

Kode 4:

#termasuk
menggunakan ruang nama std ;
dobel berkembang biak ( ke dalam nomor 1 , ke dalam nomor 2 ) {
jika ( nomor 2 <= 0 ) {
melemparkan “Kami tidak mengalikan nilainya dengan nilai nol atau negatif!” ;
}
kembali ( nomor 1 * nomor 2 ) ;
}
ke dalam utama ( ) {
ke dalam nomor baru1 = 3.4 ;
ke dalam nomor2 baru = 12 ;
ke dalam mHasil ;
mencoba {
mHasil = berkembang biak ( Nomor baru1, Nomor baru2 ) ;
cout << 'Hasil perkaliannya adalah ' << mHasil << akhir ;
}
menangkap ( konstanta arang * pesan ) {
Cerr << pesan << akhir ;
}
kembali 0 ;
}

Keluaran:
Nilai yang kita tambahkan adalah “12” yang kita tambahkan kondisinya. Jadi, fungsi “multiply()” dijalankan karena kondisinya tidak benar. Hasil perkaliannya ditampilkan. Bagian 'coba' dijalankan di sini.

Kesimpulan

Konsep “coba-tangkap” dan kode-kode dalam panduan ini dipelajari secara rinci. Kami mengeksplorasi konsep “coba-tangkap” ini secara menyeluruh dan menunjukkan cara kerjanya dalam pemrograman C++. Kami mendefinisikan bahwa istilah 'lemparan' menciptakan pengecualian ketika ditemukan kesalahan yang memungkinkan kami menulis kode unik kami. Dengan menggunakan ekspresi “catch”, kita dapat menentukan blok kode yang akan dijalankan jika pengecualian muncul di bagian “coba”.