在C++程序中,异常处理是通过try、catch和throw关键字来实现的。当程序遇到错误或异常情况时,可以使用这些关键字来捕获和处理异常,从而避免程序崩溃。
以下是一个简单的C++异常处理示例:
#include <iostream>
#include <stdexcept>
int main() {
try {
// 代码块,可能抛出异常
int result = 10 / 0; // 这里会抛出一个std::runtime_error异常
} catch (const std::runtime_error& e) {
// 捕获异常并处理
std::cerr << "捕获到异常: " << e.what() << std::endl;
} catch (...) {
// 捕获所有其他类型的异常
std::cerr << "捕获到未知异常" << std::endl;
}
return 0;
}
在这个示例中,我们尝试执行一个除以零的操作,这会抛出一个std::runtime_error异常。我们使用try关键字来包围可能抛出异常的代码块。然后,我们使用catch关键字来捕获并处理异常。在这个例子中,我们捕获了std::runtime_error类型的异常,并输出异常信息。如果没有匹配的catch语句,程序将执行最后一个catch (...)语句,捕获所有其他类型的异常。
在Ubuntu中编译和运行C++程序,你可以使用g++编译器。例如,如果你想编译上面的示例程序,可以使用以下命令:
g++ -o exception_example exception_example.cpp
然后,使用以下命令运行编译后的程序:
./exception_example
这将输出捕获到的异常信息。