Rumah >pembangunan bahagian belakang >C++ >Penyelesaian kepada masalah pengendalian pengecualian biasa dalam C++
Penyelesaian kepada masalah pengendalian pengecualian biasa dalam C++ memerlukan contoh kod khusus
Pengenalan:
Apabila menulis program C++, anda sering menghadapi pengecualian dalam atur cara, seperti pembahagi dengan 0, tatasusunan di luar sempadan, dan akses penunjuk nol dsb. . Pengecualian ini boleh menyebabkan program ranap atau menghasilkan keputusan yang tidak dapat diramalkan Untuk meningkatkan kestabilan dan kebolehpercayaan program, kita perlu menggunakan mekanisme pengendalian pengecualian untuk menangkap dan mengendalikan pengecualian ini. Artikel ini akan memperkenalkan masalah pengendalian pengecualian biasa dalam C++ dan memberikan penyelesaian yang sepadan serta contoh kod khusus.
Berikut ialah contoh mudah:
try { // 可能发生异常的代码 throw 1; // 抛出一个整型异常 } catch (int e) { // 处理整型异常 cout << "捕获到异常:" << e << endl; }
Berikut ialah beberapa kelas pengecualian standard biasa dan syarat pengecualiannya yang sepadan:
Berikut ialah contoh penggunaan kelas pengecualian std::out_of_range:
try { int arr[5] = {1, 2, 3, 4, 5}; cout << arr[10] << endl; // 数组访问越界 } catch (std::out_of_range& e) { // 处理数组越界异常 cout << "捕获到数组越界异常:" << e.what() << endl; }
Berikut ialah contoh kelas pengecualian tersuai:
class MyException : public std::exception { public: MyException(const std::string& message) : m_message(message) {} const char* what() const noexcept { return m_message.c_str(); } private: std::string m_message; }; try { throw MyException("这是一个自定义异常"); // 抛出自定义异常 } catch (MyException& e) { // 处理自定义异常 cout << "捕获到自定义异常:" << e.what() << endl; }
Berikut ialah contoh penghantaran pengecualian:
void doSomething() { try { // 可能发生异常的代码 throw std::runtime_error("发生了一个错误"); } catch (std::exception& e) { // 处理异常,并传递给上一级调用者 cout << "捕获到异常:" << e.what() << endl; throw; } } try { doSomething(); } catch (std::exception& e) { // 处理传递过来的异常 cout << "捕获到传递过来的异常:" << e.what() << endl; }
Kesimpulan:
Pengendalian pengecualian adalah bahagian penting dalam memastikan kestabilan dan kebolehpercayaan program C++. Artikel ini memperkenalkan masalah pengendalian pengecualian biasa dalam C++ dan memberikan penyelesaian yang sepadan serta contoh kod khusus. Dengan menggunakan mekanisme pengendalian pengecualian dengan betul, kami boleh bertindak balas dengan lebih baik kepada situasi tidak normal yang berlaku dalam program dan meningkatkan keteguhan program.
Atas ialah kandungan terperinci Penyelesaian kepada masalah pengendalian pengecualian biasa dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!