在C++中,异常处理是通过try
、catch
和throw
关键字实现的。当程序遇到无法处理的错误时,可以使用throw
关键字抛出一个异常。try
块包含可能抛出异常的代码,而catch
块用于捕获和处理异常。当try
块中的代码抛出异常时,程序的执行将立即跳转到与该异常类型匹配的catch
块。
以下是一个简单的C++异常处理示例:
#include#include int main() { try { int denominator = 0; if (denominator == 0) { throw std::runtime_error("Division by zero is not allowed."); } int result = 10 / denominator; std::cout << "Result: " << result << std::endl; } catch (const std::runtime_error& e) { std::cerr << "Error: " << e.what() << std::endl; } catch (...) { std::cerr << "Unknown error occurred." << std::endl; } return 0; }
在这个示例中,我们尝试执行一个除以零的操作,这是一个异常情况。当遇到这种情况时,我们抛出一个std::runtime_error
异常,并在catch
块中捕获和处理它。如果抛出其他类型的异常,我们将使用默认的catch
块来捕获和处理未知异常。