在C++中,異常處理是通過try
、catch
和throw
關鍵字實現的。當程序遇到無法處理的錯誤時,可以使用throw
關鍵字拋出一個異常。try
塊包含可能拋出異常的代碼,而catch
塊用于捕獲和處理異常。當try
塊中的代碼拋出異常時,程序的執行將立即跳轉到與該異常類型匹配的catch
塊。
以下是一個簡單的C++異常處理示例:
#include <iostream>
#include <stdexcept>
int main() {
try {
int denominator = 0;
if (denominator == 0) {
throw std::runtime_error("Division by zero is not allowed.");
}
int result = 10 / denominator;
std::cout << "Result: " << result << std::endl;
} catch (const std::runtime_error& e) {
std::cerr << "Error: " << e.what() << std::endl;
} catch (...) {
std::cerr << "Unknown error occurred." << std::endl;
}
return 0;
}
在這個示例中,我們嘗試執行一個除以零的操作,這是一個異常情況。當遇到這種情況時,我們拋出一個std::runtime_error
異常,并在catch
塊中捕獲和處理它。如果拋出其他類型的異常,我們將使用默認的catch
塊來捕獲和處理未知異常。