zoukankan      html  css  js  c++  java
  • 异常的多态使用

    异常的多态使用

    • 利用多态来实现 printError同一个接口调用
    • 抛出不同的错误对象,提示不同错误
    #define _CRT_SECURE_NO_WARNINGS
    #include <iostream>
    using namespace std;
    
    //异常基类
    class BaseException
    {
    public:
        virtual void printError()
        {}
    };
    class OutofRangeException :public BaseException
    {
    public:
        virtual void printError()
        {
            cout << "越界异常" << endl;
        }
    };
    class NullPointerException :public BaseException
    {
    public:
        virtual void printError()
        {
            cout << "空指针异常" << endl;
        }
    };
    void doWork()
    {
        //throw NullPointerException();    //抛出空指针异常
        throw OutofRangeException(); //抛出越界异常
    }
    void test01()
    {
        try
        {
            doWork();
        }
        catch (BaseException& e)     //BaseException类和其派生类
        {
            e.printError();         //捕获异常
        }
    }
    
    int main()
    {
        test01();
        system("Pause");
        return 0;
    }

    结果:

  • 相关阅读:
    Python-内置函数
    Python-匿名函数
    Python-函数递归-二分法
    Python-函数递归
    Day4-函数
    CSS-定位
    CSS-文本属性,文字属性
    CSS-浮动
    CSS-盒模型
    CSS-继承和层叠
  • 原文地址:https://www.cnblogs.com/yifengs/p/15184645.html
Copyright © 2011-2022 走看看