/*======================================================================
异常处理
程序运行期出现的错误
对可以预见的错误做出预见性的安排
关键字:
try catch throw
主逻辑与异常逻辑分离处理
调用关系:
函数3 调用-》函数2 调用-》函数1
引发异常
函数2处理《- 不处理
函数3处理《- 不处理
系统默认处理《- 不处理
try catch是一对多的关系
try{}
catch(int){}
catch(double){}
catch(…){}//不能捕获的异常全部抛给系统处理
=====================================================================
常见异常:
1、数组下标越界
2、除数为0
3、内存不足
异常类(与多态的关系):
Exception 接口类
HardwareErr throw new HardwareErr
SizeErr ……
MemoryErr ……
NetworkErr ……
try{}
catch(Exception &e){e.xxx()}
/*======================================================================*/
#include<iostream>
using namespace std;
class Exception
{
public:
Exception() {};
virtual ~Exception() {}
virtual void printException()
{
cout << "Exception_printException" << endl;
}
};
class IndexException :public Exception
{
public:
IndexException() {};
virtual ~IndexException() {};
virtual void printException()
{
cout << "提示:下标越界" << endl;
}
};
void test()
{
//throw 10.5;//抛出异常捕获到 可以进行异常处理
//抛出的异常捕获不到 程序就直接崩溃 等待计算机处理
throw IndexException();
}
int main()
{
try
{
test();
}
/*catch (double &e)
{
cout << "Exception" << e << endl;
}*/
catch (Exception &e)
{
e.printException();
}
return 0;
}
C++异常处理(多态实现机制)
最新推荐文章于 2023-03-12 13:07:58 发布