Bagaimana Melaksanakan Pengendalian Pengecualian Dalam C ++?



Artikel ini akan membantu anda memahami apa itu pengendalian pengecualian dan bagaimana melaksanakan pengendalian pengecualian di C ++ dengan demonstrasi praktikal.

Pengecualian adalah keadaan yang tidak normal semasa waktu larian atau masa penyusunan. adalah konsep yang sangat penting dalam c ++. Artikel ini akan memberi anda pengecualian mengenai pengendalian dalam C ++ beserta jenisnya.

Petunjuk berikut akan dibahas dalam artikel ini,





Oleh itu, mari kita mulakan,

Pengendalian Pengecualian Dalam C ++

Jenis Pengecualian

Terdapat dua jenis pengecualian,



Waktu Pengecualian

Ini adalah Pengecualian yang ditangkap semasa masa berjalan.

Pengecualian Masa Kompilasi



Ini adalah Pengecualian yang ditangkap semasa waktu kompilasi.

Melanjutkan dengan artikel Pengendalian Pengecualian ini di C ++,

Apakah Pengendalian Pengecualian?

Kesalahan mengganggu pelaksanaan program secara normal. Pengendalian pengecualian sangat diperlukan, dan ini adalah proses menangani kesalahan atau pengecualian. Ini memastikan bahawa pelaksanaan program tidak terjejas oleh pengecualian dan perlahan-lahan mengatasinya tanpa menimbulkan masalah pada pelaksanaan program.

Apabila anda mempertimbangkan pengendalian pengecualian, ada tiga istilah yang berkaitan dengannya,

Cuba

Kod di dalam blok ini seperti kod percubaan, yang mungkin menimbulkan pengecualian. Pengecualian ini terdapat di dalam blok tangkapan.

Tangkap

Kod di blok ini dijalankan apabila kod di blok percubaan membuang pengecualian.

Baling

Kata kunci ini digunakan untuk membuang pengecualian ketika ditemui. Pengecualian dihantar ke pengendali pengecualian.

Sintaks:

Kod di dalam blok percubaan dijalankan. Sekiranya terdapat ralat yang dihasilkan, maka kata kunci melemparkan pengecualian kepada pengendali pengecualian, iaitu blok tangkapan. Blok tangkapan kemudian melaksanakan kod, yang ada di dalam bloknya, sehingga menangani pengecualian.

Mari kita lihat contoh kod untuk pengendalian pengecualian di c ++

Contoh Kod

bagaimana menamatkan program di java
#sertakan dengan menggunakan namespace std try {// code for try throw & ldquoexception & rdquo} catch (pengecualian) {// code for catch} int main () {int x = 1 cuba {cout<< 'Try Block: '<

Pengeluaran:

Keluaran - Pengendalian Pengecualian Dalam C ++ - Edureka

Penjelasan

Program ini menunjukkan pengendalian pengecualian. Kami mempunyai pemboleh ubah x, yang diberi nilai 1. Kemudian kita mempunyai permulaan blok percubaan. Di blok ini, kita mempunyai pernyataan if dengan syarat x<10.

Dalam kes kami, syaratnya adalah betul kerana x adalah satu. Program kemudian membuang pengecualian dan kawalan beralih ke blok. Kami melaksanakan syarat di bahagian tangkapan dan keluar dari blok.

tangkap (...) {kos<< 'Default Exceptionn'<

Terakhir, kami melaksanakan pernyataan yang tersisa setelah program tangkapan dan keluar.

Terdapat banyak pernyataan tangkapan, bergantung kepada bilangan kemungkinan pengecualian.

Melanjutkan dengan artikel Pengendalian Pengecualian ini di C ++,

Kegagalan Catch Block

Pertimbangkan program sebelumnya, jika sebagai ganti kata kunci lempar melemparkan 'ABC', fungsi tangkapan tidak akan dapat mengatasinya. Ini akan menunjukkan ralat,

Kita boleh memaparkan mesej ralat menang kita dalam keadaan seperti itu.

Untuk menyelesaikannya, kita perlu menambahkan fungsi tangkapan lalai ke kod untuk menangani masalah tersebut.

#sertakan dengan menggunakan namespace std int main () {int x = 1 cubalah {cout<< 'Try Block: '<

Keluaran:

Penjelasan:

Kod ini serupa dengan yang sebelumnya. Satu-satunya perubahan ialah pengecualian yang dilontarkan adalah jenis char. Ini mengakibatkan fungsi tangkapan kita tidak berguna. Oleh itu, kami telah memasukkan fungsi tangkapan lalai.

Sekiranya tidak ada pernyataan tangkapan yang sesuai, maka tangkapan lalai dijalankan.

Blok Penangkapan Pelbagai

Terdapat banyak blok tangkapan dari satu blok percubaan.

Inilah contohnya,

#sertakan dengan menggunakan namespace std int test (int a) {cubalah {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<

Pengeluaran:

Penjelasan:

Dalam kod di atas, kami menggunakan beberapa pernyataan tangkapan. Kami mempunyai ujian fungsi yang menghasilkan pengecualian. Dalam kes ujian pertama, nilainya adalah 10. Oleh kerana 10 lebih besar daripada sifar, watak 'a' dilemparkan dan ia ditangkap oleh fungsi tangkapan kedua.

Dalam kes kedua, nilainya kurang dari 0 sehingga nilai -1 dilemparkan dan ia ditangkap oleh pengecualian bilangan bulat

Pengendalian Pengecualian di kelas asas dan turunan:

Sekiranya pengecualian kelas asas dan turunan ditangkap maka tangkapan kelas turunan mesti dilaksanakan sebelum kelas asas.

Berikut adalah beberapa pengecualian:

perbezaan antara kelebihan dan kelebihan beban di java
  • std :: pengecualian

  • kesalahan logik

  • runtime_error

  • buruk_alloc

  • siaran buruk

  • pengecualian_ buruk

Dengan ini kita sampai di akhir blog ini di ‘Exception Handling In C ++’. Saya harap anda dapati maklumat ini bermanfaat dan bermanfaat, nantikan lebih banyak tutorial mengenai topik yang serupa. Anda juga boleh melihat program latihan kamio dapatkan pengetahuan mendalam mengenai jQuery bersama dengan pelbagai aplikasinya, anda boleh untuk latihan dalam talian secara langsung dengan sokongan 24/7 dan akses seumur hidup.

Ada soalan untuk kami? Sebutkannya di bahagian komen blog ini dan kami akan menghubungi anda.