C++异常处理基本句法测试

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

代码如下:

#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,运行结果如下:

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

 有以下知识点:

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

原文地址:https://www.cnblogs.com/lixuejian/p/10745546.html