C++中的異常處理機制是通過try、catch和throw來實現(xiàn)的。當(dāng)程序運行時遇到異常情況,可以使用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函數(shù)嘗試進行除法運算,如果除數(shù)為0,則拋出一個異常。在main函數(shù)中,使用try塊來捕獲可能拋出的異常,并在catch塊中處理異常。
除了捕獲特定類型的異常外,也可以使用catch(…)來捕獲所有類型的異常。另外,也可以自定義異常類來實現(xiàn)更復(fù)雜的異常處理邏輯。在C++中,異常處理機制可以幫助我們更好地處理程序運行時可能出現(xiàn)的異常情況,增強程序的健壯性。