C++中的異常處理機(jī)制是通過try-catch塊來實現(xiàn)的。當(dāng)程序中發(fā)生異常時,可以使用try塊來包圍可能會拋出異常的代碼,然后使用catch塊來捕獲并處理異常。
以下是一個簡單的示例代碼:
#include <iostream>
int main() {
try {
int x = 10;
int y = 0;
if (y == 0) {
throw "Divide by zero error";
}
int result = x / y;
std::cout << "Result: " << result << std::endl;
} catch (const char* msg) {
std::cerr << "Error: " << msg << std::endl;
}
return 0;
}
在上面的示例中,當(dāng)y等于0時會拋出一個字符串異常。catch塊會捕獲這個異常并輸出錯誤消息。
除了捕獲特定類型的異常外,還可以使用catch(…)來捕獲所有類型的異常。這樣可以在異常處理中處理任何類型的異常。
需要注意的是,在C++中,異常處理會引入一些額外的開銷,因此應(yīng)該避免在性能要求嚴(yán)格的代碼中過多地使用異常。通常情況下,異常處理應(yīng)該用于處理程序中無法正常處理的錯誤情況。