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++中,异常处理机制可以帮助我们更好地处理程序运行时可能出现的异常情况,增强程序的健壮性。