在C++中,處理異常情況通常使用 try-catch 語(yǔ)句塊。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用 try-catch 語(yǔ)句處理異常:
#include <iostream>
#include <stdexcept>
int main() {
try {
// 嘗試執(zhí)行可能引發(fā)異常的代碼
int denominator = 0;
if (denominator == 0) {
throw std::runtime_error("除數(shù)不能為0");
}
int result = 10 / denominator;
std::cout << "結(jié)果: " << result << std::endl;
} catch (const std::runtime_error& e) {
// 捕獲并處理異常
std::cerr << "發(fā)生異常: " << e.what() << std::endl;
} catch (...) {
// 捕獲并處理其他未知異常
std::cerr << "發(fā)生未知異常" << std::endl;
}
return 0;
}
在這個(gè)示例中,我們嘗試執(zhí)行一個(gè)可能引發(fā)異常的代碼(除以0)。如果發(fā)生異常,我們會(huì)捕獲它并輸出相應(yīng)的錯(cuò)誤信息。我們使用 std::runtime_error
類(lèi)創(chuàng)建一個(gè)異常對(duì)象,并將其傳遞給 catch 語(yǔ)句塊。你還可以使用其他標(biāo)準(zhǔn)異常類(lèi)(如 std::exception
)或自定義異常類(lèi)。
注意,將可能引發(fā)異常的代碼放在 try 語(yǔ)句塊中,將處理異常的代碼放在 catch 語(yǔ)句塊中。這樣可以確保在發(fā)生異常時(shí),程序能夠優(yōu)雅地處理錯(cuò)誤,而不是崩潰。