11_100.cpp

来自「C++程序设计技能百练随书配套光盘的源码」· C++ 代码 · 共 53 行

CPP
53
字号
#include<iostream.h>
void fun(void);
class evil
{
public:
	evil(){}
	~evil(){}
	const char* ShowReason() const
	{
		return "evil类异常。";
	}
};
class A
{
public:
	A();
	~A();
};
A::A()
{
	cout<<"构造A。"<<endl;
}
A::~A()
{
	cout<<"析构A。"<<endl;
}
void fun()
{
	A D;
	cout<<"在fun()中抛掷evil类异常,注意自动调用局部对象的析构函数。"<<endl;
	throw evil();
}
void main()
{
	cout<<"在main函数中"<<endl;
	try
	{
		cout<<"在try块中调用fun()。"<<endl;
		fun();
	}
	catch(evil E)
	{
		cout<<"在catch异常处理程序中。"<<endl;
		cout<<"捕获到evil类型异常:";
		cout<<E.ShowReason()<<endl;
	}
	catch(char *str)
	{
		cout<<"捕获到其它异常:"<<str<<endl;
	}
	cout<<"回到main函数。从这里恢复执行。"<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?