,
本篇博客中 , 讨论 抛出 / 捕获 的 异常类 存在 继承结构 的情况 ;
一、抛出 / 捕获 多个类型异常对象
1、抛出 / 捕获 多个类型异常对象
定义一个函数 , 传入一个 int 类型的参数..., void fun(int a) , 判定传入的参数值大小 ;
只有参数为 60 的时候 , 符合要求 , 其它情况下 , 一律抛出异常 ,
如果参数为负数 , 抛出 eNegative 异常 ;...如果参数为 0 , 抛出 eZero 异常 ;
如果参数 小于 60 , 抛出 eTooSmall 异常 ;
如果参数 大于 60 , 抛出 eTooBig 异常 ;
首先 , 定义上述异常类 , 定义...二、异常类的继承层次结构
1、抛出子类异常对象 / 捕获并处理 父类异常对象
如果 抛出 / 捕获 多个类型的异常对象 , 每次拦截处理异常时 , 都要手动编写多个 catch 分支 , 不利于代码维护...;
如果将 相似类型的异常 都继承自 一个父类 , 那么每次拦截时 , 只需要拦截一个父类异常即可 ;
定义父类异常 , 其中定义一个纯虚函数 , 该纯虚函数是异常打印 , 或者异常处理的通用操作 ;