Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Pengendalian Pengecualian Berfungsi dalam C ?
Pengendalian Pengecualian dalam C : Penjelasan Komprehensif
Pengendalian pengecualian ialah mekanisme penting dalam C yang membolehkan pengaturcara mengurus ralat masa jalan dan situasi yang tidak dijangka dengan berkesan. Memahami cara melontar, mencuba dan menangkap pengecualian adalah penting untuk menulis kod yang mantap dan tersusun dengan baik.
Melempar Pengecualian
Untuk melontar pengecualian, gunakan kata kunci lontaran diikuti dengan objek pengecualian. Sebagai contoh, untuk membuang pengecualian dengan mesej "menerima nilai negatif" apabila salah satu argumen a atau b dalam fungsi bandingkan adalah negatif, kod berikut boleh digunakan:
#include <stdexcept> int compare(int a, int b) { if (a < 0 || b < 0) { throw std::invalid_argument("received negative value"); } }
Perpustakaan Standard menyediakan julat objek pengecualian terbina dalam, termasuk std::invalid_argument, yang boleh digunakan dalam senario sedemikian.
Menangkap Pengecualian
Untuk mengendalikan pengecualian, gunakan struktur blok cuba-tangkap. Blok cuba mengandungi kod yang mungkin membuang pengecualian. Blok tangkapan mengikut blok cuba dan nyatakan jenis pengecualian yang harus dikendalikan. Contohnya, kod berikut cuba memanggil fungsi bandingkan dan menangkap sebarang pengecualian std::invalid_argument yang mungkin dilemparkan:
try { compare(-1, 3); } catch (const std::invalid_argument& e) { // Handle the exception and take appropriate action }
Pengecualian Lempar Semula
Jika perlu, pengecualian boleh dibaling semula dalam blok tangkapan menggunakan kata kunci lontaran. Ini membolehkan pengecualian dikendalikan oleh kod pada tahap yang lebih tinggi dalam timbunan panggilan.
Menangkap Pengecualian Tanpa mengira Jenis
Untuk menangkap pengecualian tanpa mengira jenisnya, gunakan elipsis (...) dalam blok tangkapan. Ini berguna apabila jenis pengecualian yang tepat tidak diketahui atau apabila pengendalian ralat umum dikehendaki.
try { // Code that may throw exceptions } catch (...) { // Handle all exceptions }
Memahami pengendalian pengecualian adalah penting untuk menulis kod yang teguh dan tahan ralat. Dengan mengikut prinsip yang digariskan di atas, pengaturcara boleh mengurus ralat masa jalan dengan berkesan dan meningkatkan kualiti keseluruhan aplikasi C mereka.
Atas ialah kandungan terperinci Bagaimanakah Pengendalian Pengecualian Berfungsi dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!