在C++编程中,处理异常情况通常使用try-catch语句块。try块包含可能引发异常的代码,而catch块则包含处理异常的代码。当try块中的代码引发异常时,程序将跳转到相应的catch块,并执行其中的代码。
以下是一个简单的示例,演示如何使用try-catch语句块处理异常情况:
#include <iostream>
#include <stdexcept>
int main() {
try {
int num = -10;
if (num < 0) {
throw std::invalid_argument("Negative number");
}
std::cout << "Number is positive" << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Caught an exception: " << e.what() << std::endl;
} catch (...) {
std::cerr << "Caught an unknown exception" << std::endl;
}
return 0;
}
在这个示例中,我们尝试将一个负数赋值给变量num。如果num小于0,我们抛出一个std::invalid_argument异常。在catch块中,我们捕获并处理这个异常。如果catch块无法处理异常,我们可以使用catch(…)来捕获所有类型的异常。