Cara C++ mengendalikan berbilang pengecualian termasuk menggunakan blok cuba-tangkap, yang membenarkan pengecualian ditangkap dan dikendalikan untuk jenis pengecualian tertentu, atau menggunakan blok cuba dan blok tangkapan (...) untuk menangkap semua jenis pengecualian. Dalam kes sebenar, blok cuba mencuba operasi bahagi, menangkap jenis invalid_argument dan pengecualian pengecualian melalui dua blok tangkapan, dan mengeluarkan maklumat ralat yang sepadan.
C++ menyediakan pelbagai kaedah untuk mengendalikan berbilang pengecualian, termasuk:
try-catch block
try { // 代码可能引发异常 } catch (const std::exception& e) { // 处理 std::exception 异常 } catch (const std::runtime_error& e) { // 处理 std::runtime_error 异常 }
catch(...) typeid
try { // 代码可能引发异常 } catch (...) { // 处理所有异常 }
Kes praktikalContoh berikut menunjukkan penggunaan blok try-catch untuk mengendalikan berbilang pengecualian:
try { // 代码可能引发异常 } catch (const std::exception& e) { if (typeid(e) == typeid(std::runtime_error)) { // 处理 std::runtime_error 异常 } }
try
cubaan blok untuk dilaksanakan mungkin membuang pengecualian kod. blok catch (const invalid_argument& e)
mengendalikan pengecualian invalid_argument
. Blok catch (const exception& e)
mengendalikan semua pengecualian lain. try
块尝试执行可能引发异常的代码。catch (const invalid_argument& e)
块处理 invalid_argument
异常。catch (const exception& e)
#include <iostream> #include <exception> using namespace std; int main() { try { int x = 10; int y = 0; cout << "x / y = " << x / y << endl; } catch (const invalid_argument& e) { cout << "Division by zero error: " << e.what() << endl; } catch (const exception& e) { cout << "Error: " << e.what() << endl; } return 0; }
Atas ialah kandungan terperinci Bagaimana untuk mengendalikan berbilang pengecualian dalam C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!