C++中的異常處理機制是通過try、catch和throw來實現的。當程序運行時遇到異常情況,可以使用throw語句拋出異常。然后,在包含throw語句的try塊中,可以使用catch語句來捕獲并處理異常。
下面是一個簡單的示例:
#include <iostream>
int divide(int a, int b) {
if (b == 0) {
throw "Division by zero!";
}
return a / b;
}
int main() {
try {
int result = divide(10, 0);
std::cout << "Result: " << result << std::endl;
} catch (const char* msg) {
std::cerr << "Exception caught: " << msg << std::endl;
}
return 0;
}
在上面的示例中,divide函數嘗試進行除法運算,如果除數為0,則拋出一個異常。在main函數中,使用try塊來捕獲可能拋出的異常,并在catch塊中處理異常。
除了捕獲特定類型的異常外,也可以使用catch(…)來捕獲所有類型的異常。另外,也可以自定義異常類來實現更復雜的異常處理邏輯。在C++中,異常處理機制可以幫助我們更好地處理程序運行時可能出現的異常情況,增強程序的健壯性。