C++如何抛出捕获异常
如何抛出异常
throw 数据;
// 数据可以是任何类型
// 不要抛出局部变量的地址,因为该地址有可能被释放
// 抛出的数据不是直接传递给捕获的变量,而是先创建一个匿名对象存储该数据,然后传递该匿名对象
如何捕获异常
try{
// 可能会产生异常的代码或函数调用
}catch(类型1 &变量名){
// 如果使用 类型 变量名 方式捕获异常,会对匿名对象再次拷贝,浪费资源与时间,所以一般使用引用获取匿名对象,可以减少一次拷贝
// 进行异常处理
}catch(类型2 &变量名){
// 进行异常处理
}