ExampleFour.cpp
上传用户:skywee
上传日期:2021-12-09
资源大小:141k
文件大小:1k
源码类别:

文件格式

开发平台:

C/C++

  1. #include <iostream>
  2. using namespace std;
  3. class CErrorBase
  4. {
  5. public:
  6. virtual void PrintError()
  7. {
  8. cout<<"CErrorBase"<<endl;
  9. }
  10. };
  11. class CErrorOverflow:public CErrorBase
  12. {
  13. public:
  14. virtual void PrintError()
  15. {
  16. cout<<"CErrorOverflow"<<endl;
  17. }
  18. };
  19. class CErrorNullPointer:public CErrorBase
  20. {
  21. public:
  22. virtual void PrintError()
  23. {
  24. cout<<"CErrorNullPointer"<<endl;
  25. }
  26. };
  27. class CErrorZeroDevide:public CErrorBase
  28. {
  29. public:
  30. virtual void PrintError()
  31. {
  32. cout<<"CErrorZeroDevide"<<endl;
  33. }
  34. };
  35. void Func(int i)
  36. {
  37. if(i%3==0)
  38. throw CErrorOverflow();
  39. if(i%4==0)
  40. throw CErrorNullPointer();
  41. if(i%5==0)
  42. throw CErrorZeroDevide();
  43. }
  44. int main(int argc, char* argv[])
  45. {
  46. int i;
  47. cin>>i;
  48. try
  49. {
  50. Func(i);
  51. }
  52. catch(CErrorBase &e)
  53. {
  54. e.PrintError();
  55. }
  56. return 0;
  57. }