在Ubuntu中的C++程序中进行异常处理,你可以使用try
、catch
和throw
关键字。以下是一个简单的示例:
#include <iostream>
#include <stdexcept>
int main() {
try {
// 抛出一个异常
throw std::runtime_error("An error occurred");
}
catch (const std::runtime_error& e) {
// 捕获并处理异常
std::cerr << "Caught exception: " << e.what() << std::endl;
}
catch (...) {
// 捕获所有其他类型的异常
std::cerr << "Caught an unknown exception" << std::endl;
}
return 0;
}
在这个例子中,我们首先包含了<iostream>
和<stdexcept>
头文件。<iostream>
用于输入输出操作,而<stdexcept>
包含了一些常用的异常类。
在try
块中,我们抛出了一个std::runtime_error
异常,并传递了一个描述错误的字符串。如果在try
块中发生异常,程序将立即跳转到与该异常类型匹配的catch
块。
在这个例子中,我们有两个catch
块。第一个catch
块捕获std::runtime_error
类型的异常,并打印出错误信息。第二个catch
块捕获所有其他类型的异常,以防万一。
要编译这个程序,请在终端中运行以下命令:
g++ -o exception_handling_example exception_handling_example.cpp
然后运行生成的可执行文件:
./exception_handling_example
你将看到以下输出:
Caught exception: An error occurred