,
本篇博客中 , 讨论 抛出 / 捕获 的 异常类 存在 继承结构 的情况 ;
一、抛出 / 捕获 多个类型异常对象
1、抛出 / 捕获 多个类型异常对象
定义一个函数 , 传入一个 int 类型的参数...捕获并处理异常
try
{
// 调用可能产生异常的函数
fun(0);
}
catch (eNegative& e) {
cout << "参数是负数" << endl;
}...捕获并处理异常
try
{
// 调用可能产生异常的函数
fun(0);
}
catch (eNegative& e) {
cout << "参数是负数" << endl;
}...二、异常类的继承层次结构
1、抛出子类异常对象 / 捕获并处理 父类异常对象
如果 抛出 / 捕获 多个类型的异常对象 , 每次拦截处理异常时 , 都要手动编写多个 catch 分支 , 不利于代码维护..., 会发生多态 ;
在拦截父类对象时 , 调用不同的 异常对象 , 会分别调用不同子类的 虚函数方法 ;
抛出异常的函数如下 , 抛出异常时 , 需要抛出子类异常对象 ;
// 1.