在C++中,异常处理是通过关键字try
、catch
和throw
实现的。当程序遇到错误或异常情况时,可以使用这些关键字来捕获和处理异常。以下是一个简单的示例:
#include <iostream>
#include <stdexcept>
int main() {
try {
// 代码块,可能抛出异常
int result = 10 / 0; // 这里会抛出一个std::runtime_error异常
} catch (const std::runtime_error& e) {
// 捕获并处理std::runtime_error类型的异常
std::cerr << "捕获到异常: " << e.what() << std::endl;
} catch (...) {
// 捕获所有其他类型的异常
std::cerr << "捕获到未知异常" << std::endl;
}
return 0;
}
在这个例子中,我们尝试执行一个除以零的操作,这会导致一个std::runtime_error
异常。我们使用try
关键字来包围可能抛出异常的代码块。如果发生异常,程序将跳转到相应的catch
块来处理异常。
在这个例子中,我们有两个catch
块。第一个catch
块捕获std::runtime_error
类型的异常,并输出异常的描述信息。第二个catch
块捕获所有其他类型的异常,输出一条通用错误消息。
要在Linux上编译和运行此示例,请将其保存为exception_handling.cpp
,然后使用以下命令:
g++ -o exception_handling exception_handling.cpp
./exception_handling
这将编译源代码并生成一个名为exception_handling
的可执行文件。运行该文件,您将看到异常处理的结果。