在C++中,可以使用try
、catch
和throw
關(guān)鍵字來捕獲和處理異常
#include<iostream>
#include <stdexcept>
int main() {
try {
// 這里是可能引發(fā)異常的代碼
int denominator = 0;
if (denominator == 0) {
throw std::runtime_error("除數(shù)不能為0");
}
int result = 10 / denominator;
std::cout << "Result: "<< result<< std::endl;
} catch (const std::runtime_error& e) {
// 捕獲到異常后的處理代碼
std::cerr << "捕獲到異常: " << e.what()<< std::endl;
} catch (...) {
// 捕獲所有其他類型的異常
std::cerr << "捕獲到未知類型的異常"<< std::endl;
}
// 繼續(xù)執(zhí)行其他代碼
std::cout << "程序繼續(xù)運行"<< std::endl;
return 0;
}
在上面的示例中,我們使用try
塊包裹可能引發(fā)異常的代碼。如果發(fā)生異常,throw
語句會拋出一個std::runtime_error
異常。然后,catch
塊捕獲該異常,并打印相應(yīng)的錯誤消息。最后,程序繼續(xù)執(zhí)行其他代碼。
注意:異常處理可能會影響性能,因此建議僅在必要時使用。同時,確保在捕獲異常后進(jìn)行適當(dāng)?shù)奶幚恚玑尫刨Y源或向用戶顯示錯誤消息。