C++ 的标准异常处理主要依赖于 try
、catch
和 throw
这三个关键字。以下是一个简单的示例,展示了如何使用这些关键字来处理异常:
#include#include int main() { try { // 尝试执行可能抛出异常的代码 int denominator = 0; if (denominator == 0) { throw std::runtime_error("除数不能为0"); } int result = 10 / denominator; std::cout << "结果: " << result << std::endl; } catch (const std::runtime_error& e) { // 捕获并处理特定类型的异常 std::cerr << "捕获到异常: " << e.what() << std::endl; } catch (...) { // 捕获并处理其他类型的异常 std::cerr << "捕获到未知异常" << std::endl; } return 0; }
在这个示例中,我们首先使用 try
关键字包裹可能抛出异常的代码。如果发生异常,程序将立即跳转到相应的 catch
块。我们可以使用 catch
关键字捕获特定类型的异常,例如 std::runtime_error
,并处理它。如果没有捕获到特定类型的异常,程序将跳转到捕获所有其他类型异常的通用 catch
块。
在 catch
块中,我们可以使用 e.what()
方法获取异常的描述信息。这有助于我们了解发生了什么问题,并采取适当的措施来处理异常。