针对C++异常机制,作如下简单测试

代码如下:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
#include<iostream>
using namespace std;

int MyDivision(int a, int b)
{
    if (b == 0) {
        throw b;   //抛出异常
    }
    return a / b;
}
void test()
{
    int x, y;
    cin >> x >> y;
    try {   //试着捕获异常
        cout << "商为" << MyDivision(x, y) << ""<<endl;
    }
    catch (int e)   //捕获异常
    {
        cout << "除数为" << e << " !?" << endl;
    }

}
int main()
{
    test();
    return 0;
}

以上测试代码,若输入10  0,运行结果如下:

C++异常处理基本句法测试 随笔 第1张

若输入10  5,运行结果如下:

C++异常处理基本句法测试 随笔 第2张

 有以下知识点:

1 异常的捕获是严格按照类型匹配
2 异常可以不做处理 继续向上抛,中间层可以不需要处理,用一个统一处理异常的函数统一处理。
3 如果说异常一直向上抛, 没有函数处理, 最终操作系统会将正常错误处理

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄