demo_exception_handling_6.cpp

来自「对于一个初涉VC++的人来书」· C++ 代码 · 共 37 行

CPP
37
字号

//****************************************************
// 在异常处理中基类与派生子类的异常抛出,捕获和处理.
//****************************************************

# include <iostream.h>

class Base {};

class Derived : public Base {};

int main()
{
//	Base b;
	Derived d;

	try
	{
//		throw b;
		throw d;
	}

	//警告按照捕获异常次序,异常被基类捕获,派生类性将不起作用
	//因此,建议将派生子类捕获放在前,而基类捕获放在后,否则警告
	catch(Base)
	{
		cout<<"Catch a Base class"<<endl;
	}

	catch(Derived)
	{
		cout<<"Catch a Derived class"<<endl;
	}
	return 0;
}

⌨️ 快捷键说明

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