C++如何抛出捕获异常

ycddqr / 2023-09-01 / 原文

如何抛出异常
    throw 数据;
    //  数据可以是任何类型
    //  不要抛出局部变量的地址,因为该地址有可能被释放
    //  抛出的数据不是直接传递给捕获的变量,而是先创建一个匿名对象存储该数据,然后传递该匿名对象

如何捕获异常
    try{
        //  可能会产生异常的代码或函数调用
    }catch(类型1 &变量名){
        //  如果使用 类型 变量名 方式捕获异常,会对匿名对象再次拷贝,浪费资源与时间,所以一般使用引用获取匿名对象,可以减少一次拷贝
        //  进行异常处理
    }catch(类型2 &变量名){
        //  进行异常处理
    }