C++中的异常处理机制是通过try-catch块来实现的。当程序中发生异常时,可以使用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;
}
在上面的示例中,当y等于0时会抛出一个字符串异常。catch块会捕获这个异常并输出错误消息。
除了捕获特定类型的异常外,还可以使用catch(…)来捕获所有类型的异常。这样可以在异常处理中处理任何类型的异常。
需要注意的是,在C++中,异常处理会引入一些额外的开销,因此应该避免在性能要求严格的代码中过多地使用异常。通常情况下,异常处理应该用于处理程序中无法正常处理的错误情况。