在C++中,异常处理是一种用于处理程序运行过程中可能出现的错误或异常情况的方法。通过使用异常处理,我们可以确保程序在遇到错误时能够正常运行,而不是崩溃。下面是一个C++异常处理的学习应用案例:
假设我们有一个程序,它需要从用户那里获取两个整数,并计算它们的除法结果。如果用户输入的除数为0,那么程序应该抛出一个异常,并提示用户输入非零数值。
#include <iostream>
#include <stdexcept>
int main() {
int num1, num2;
std::cout << "请输入两个整数:" << std::endl;
std::cin >> num1 >> num2;
try {
if (num2 == 0) {
throw std::runtime_error("除数不能为0");
}
double result = static_cast<double>(num1) / num2;
std::cout << "两数相除的结果为:" << result << std::endl;
} catch (const std::runtime_error& e) {
std::cerr << "发生异常:" << e.what() << std::endl;
}
return 0;
}
在这个例子中,我们使用了try-catch
语句来捕获可能抛出的异常。当用户输入的除数为0时,我们使用throw
关键字抛出一个std::runtime_error
异常。然后,在catch
块中,我们捕获这个异常,并输出相应的错误信息。这样,程序在遇到错误时不会崩溃,而是会正常执行后续代码。