2023年8月5日,周六上午
目录
头文件
std::runtime_error定义在头文件stdexcept中。
stdexcept,即standard except(标准异常)。
使用方法
try {
// 有可能抛出 std::runtime_error 的代码
throw std::runtime_error("Something went wrong.");
} catch (const std::runtime_error& e) {
// 异常处理逻辑
std::cout << "Exception caught: " << e.what() << std::endl;
}
示例程序
#include<stdexcept>
#include<iostream>
class Bank{
double money=0;
public:
void in(double amount){
money+=amount;
}
void out(double amount){
if((money-amount)<0){
//要取出的钱比存款多时抛出异常
throw std::runtime_error("抱歉,余额不足");
return;
}
money-=amount;
}
};
int main(){
Bank XiaoMing;
try {
// 有可能抛出 std::runtime_error 的代码
XiaoMing.in(100);//存100
XiaoMing.out(200);//存款只有100,却取200,抛出异常
} catch (const std::runtime_error& e) {
// 异常处理逻辑
std::cout << "Exception caught: " << e.what() << std::endl;
}
}