#ifndef _TEST_H
#define _TEST_H
#include <iostream>
using namespace std;
void MyFunc(void);
class CTest
{
public:
CTest(char *str){err = str;};
~CTest(){};
char *err;
const char* ShowReason() const
{
return err;
}
};
class CDotorDemo
{
public:
CDotorDemo();
~CDotorDemo();
};
CDotorDemo::CDotorDemo()
{
cout << "Constructing CDotorDemo" << endl;
}
CDotorDemo::~CDotorDemo()
{
cout << "Destructin CDotorDemo" << endl;
}
void MyFunc(void)
{
CDotorDemo D;
cout << "In MyFunc. Throwing CTest exception" << endl;
throw CTest("error!!!!!!");
}
int main()
{
try
{
cout << "In Try block, calling MyFuc()" << endl;
MyFunc();
}
catch (CTest E)
{
cout << "In catch handler" << endl;
cout << "Cauth CTest exception type" << endl;
cout << E.ShowReason() << endl;
}
catch (char *str)
{
cout << "Caught some other exception" << str << endl;
}
cout << "Back in Main. Exception resumes here" << endl;
}
#endif //_TEST_H
自定义异常类并使用
最新推荐文章于 2024-07-29 22:25:16 发布