C++异常处理(多态实现机制)

/*======================================================================
异常处理
	程序运行期出现的错误
	对可以预见的错误做出预见性的安排
	关键字:
		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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值