在C++中,异常处理是通过关键字try
、catch
和throw
实现的。这些关键字允许你捕获和处理程序运行时出现的错误。以下是一个简单的示例,展示了如何在Ubuntu上使用C++处理异常:
#include <iostream>
#include <stdexcept>
int main() {
int num1 = 10;
int num2 = 0;
int result;
try {
if (num2 == 0) {
throw std::runtime_error("除数不能为0");
}
result = num1 / num2;
std::cout << "结果是: " << result << std::endl;
} catch (const std::runtime_error& e) {
std::cerr << "捕获到异常: " << e.what() << std::endl;
}
return 0;
}
在这个示例中,我们尝试将一个数除以0,这是一个非法操作。为了避免程序崩溃,我们使用throw
关键字抛出一个std::runtime_error
异常,并附带一条描述错误的消息。然后,我们使用try
块包裹可能引发异常的代码。如果try
块中的代码引发了异常,程序将立即跳转到与之匹配的catch
块。在这个例子中,我们捕获了std::runtime_error
类型的异常,并输出异常消息。
要编译和运行此示例,请在Ubuntu终端中执行以下命令:
g++ -o exception_example exception_example.cpp
./exception_example
这将输出以下内容:
捕获到异常: 除数不能为0
请注意,C++还支持其他类型的异常,例如std::invalid_argument
、std::out_of_range
等。你可以根据需要选择合适的异常类型。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Ubuntu C++异常处理怎么写