Kesalahan program biasanya meliputi: kesalahan sintaksis , kesalahan logika , dan kelainan pengoperasian .
Berikut ini diperkenalkan masing-masing:
1. Kesalahan sintaksis:
Tak perlu dikatakan, setiap orang harus mengetahui dari penelitian sebelumnya bahwa jika kode program tidak memenuhi persyaratan tata bahasa, kompiler akan menyebabkan kesalahan selama kompilasi dan penautan, yang mudah ditemukan.
2. Kesalahan logika:
Dalam hal ini berarti tidak ada masalah saat kompilasi, tidak ada kesalahan, dan dapat dijalankan. Namun hasil keluaran atau proses eksekusi program tidak sesuai yang diharapkan dan tidak dapat mencapai hasil yang diharapkan. Kesalahan semacam ini disebut kesalahan logika dan memerlukan debugging dan pengujian terus menerus untuk menemukannya.
3. Kelainan operasi:
Pengecualian yang berjalan (pengecualian) mengacu pada penghentian program yang tidak normal karena keadaan yang tidak terduga selama proses yang berjalan, seperti memori tidak mencukupi, file terbuka yang tidak ada, pembagian dengan 0, dll.
Kita sudah mengetahui dua yang pertama, dan yang ketiga akan kami jelaskan secara rinci di bab ini. Dalam keadaan normal, meskipun kesalahan pengecualian program tidak dapat dihindari, kesalahan tersebut dapat diantisipasi dan pemrosesan prediktif dapat dilakukan untuk menghindari crash program dan memastikan ketahanan program. Perilaku ini disebut penanganan pengecualian .
Dalam penelitian sebelumnya, kami memiliki banyak cara untuk menangkap dan menangani pengecualian, seperti menilai nilai kembalian fungsi pemanggil melalui if...else, atau memeriksa data kunci sebelum mengeksekusi kode, dll. Jika terjadi masalah, gunakan exit ( ) atau abort() berfungsi untuk menghentikan program.
Misalnya:
cin>>a>>b;if(b==0)//Tangkap pengecualian{cout<<Drivide0!<<endl;}else{cout<<a<</<<b<<=a/b<< akhir;}
Seperti yang Anda lihat, dalam penelitian sebelumnya, kita sering menggunakan if untuk membuat penilaian untuk menangkap dan mencegah bagian-bagian penting. Namun, metode ini sering membuat program kurang mudah dibaca karena terlalu banyak penilaian yang dikurangi saat digunakan menentukan nilai kembalian suatu fungsi, kita tidak berdaya terhadap fungsi-fungsi yang tidak mengembalikan nilai. Oleh karena itu, C++ memberi kita solusi penanganan pengecualian.