《C++ 异常的处理》

程序的异常处理就是——大致来说先假装不会产生任何的异常,写好处理正常的代码,之后再写异常的代码(利用c++的异常处理);

 例子

int main() {
    //  cout << "g" << endl;
    int double_milk;
    int milk;
    double dpg;

    try {
        cout << "open starct" << endl;
        cin >> double_milk; cout << "end double_milk" << endl;
        cin >> milk;
        cout << milk << "end milk" << endl;
        if (milk <= 0) {
            throw double_milk;
        }
        dpg = double_milk / static_cast<double>(milk);//这个是类型转换。小盘子装大盘子可以,会浪费,大盘在小盘子会溢出;

        cout << "我们的程序没异常" << endl;                                          //char->
//short->    unsigned int-> unsigned long->flout-> double;
        //c 语言中强制转换- new_trye_name; expression ;表达式;名称;
      //  名称 = static_cast<new_type_name>(名称);
    }// const_cast.reinterpret_cast.dynamic_cast; static_cast;

    catch (int e) {
        cout << "我们的程序出现问题;" << endl;
    }

    cout << "over" << endl;
    return 0;
}

c++中的强制转换: static_cast;    名称 =static_cast<new_type_name>(名称);

关于try throw catch; 

程序执行到throw这后,程序将会停止,如果try后面有catch 的话,那么就会跳转到catch的程序中;

 如果没有运行到throw()这句话,那么就将会忽略后期的catch()的程序内容;

catch (int e) {
        cout << "我们的程序出现问题;" << endl;
    }

catch(int e)是什么东西;

e 我们叫他catch块参数,catch 不是个函数;他要做两件事情:
1 catch (int ) 我们的加类型参数。这个是用来捕捉什么抛出的类型;

 2: catch快参数为捕捉的抛出值指定名称,所以在catch写代码的时候可对与捕捉的代码进行处理;

关于catch 这块的位置是不能够乱放的;位置的错误会导致程序有的东西无法实现。进而无法捕捉catch;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老鬼城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值