在C++中,可以使用try
、catch
和throw
关键字来捕获和处理异常
#include<iostream>
#include <stdexcept>
int main() {
try {
// 这里是可能引发异常的代码
int denominator = 0;
if (denominator == 0) {
throw std::runtime_error("除数不能为0");
}
int result = 10 / denominator;
std::cout << "Result: "<< result<< std::endl;
} catch (const std::runtime_error& e) {
// 捕获到异常后的处理代码
std::cerr << "捕获到异常: " << e.what()<< std::endl;
} catch (...) {
// 捕获所有其他类型的异常
std::cerr << "捕获到未知类型的异常"<< std::endl;
}
// 继续执行其他代码
std::cout << "程序继续运行"<< std::endl;
return 0;
}
在上面的示例中,我们使用try
块包裹可能引发异常的代码。如果发生异常,throw
语句会抛出一个std::runtime_error
异常。然后,catch
块捕获该异常,并打印相应的错误消息。最后,程序继续执行其他代码。
注意:异常处理可能会影响性能,因此建议仅在必要时使用。同时,确保在捕获异常后进行适当的处理,例如释放资源或向用户显示错误消息。