在Ubuntu中,C++异常处理主要使用try
、catch
和throw
关键字。下面是一个简单的示例,展示了如何在C++中使用异常处理:
#include#include 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; }
在这个示例中,我们首先包含了
和
头文件。
用于输入输出操作,
包含了一些常用的异常类。
在main
函数中,我们定义了两个整数变量num1
和num2
,并尝试将num1
除以num2
。如果num2
为0,我们抛出一个std::runtime_error
异常,并传递一个描述错误的字符串。
try
块中的代码是可能引发异常的代码。如果在try
块中发生异常,程序会立即跳转到与该异常类型匹配的catch
块。在这个例子中,我们捕获了std::runtime_error
类型的异常,并输出异常信息。
如果你想要捕获其他类型的异常,可以在try
语句后面添加更多的catch
块。例如,你可以捕获所有类型的异常,如下所示:
try { // 可能引发异常的代码 } catch (const std::exception& e) { // 捕获所有从std::exception派生的异常 } catch (...) { // 捕获所有其他类型的异常 }
注意,在C++中,异常处理是一种可选的特性,不是强制性的。你可以根据需要选择是否使用异常处理。