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

文件格式

开发平台:

C/C++

  1. #include <iostream>
  2. using namespace std;
  3. enum ENUM_ERROR{StackOverflow,NullPointer,ZeroDevide,OtherError};
  4. void Func(int i)
  5. {
  6. try{
  7. if(i%3==0)
  8. throw StackOverflow;
  9. if(i%4==0)
  10. throw NullPointer;
  11. if(i%5==0)
  12. throw ZeroDevide; 
  13. }
  14. catch (int OtherError)
  15. {
  16. throw  OtherError;
  17. }
  18. }
  19. int main(int argc, char* argv[])
  20. {
  21. int i;
  22. cin>>i;
  23. try
  24. {
  25. Func(i);
  26. }
  27. catch(ENUM_ERROR e)
  28. {
  29. switch(e)
  30. {
  31. case StackOverflow:
  32. cout<<"StackOverflow"<<endl;
  33. break;
  34. case NullPointer:
  35. cout<<"NullPointer"<<endl;
  36. break;
  37. case ZeroDevide:
  38. cout<<"ZeroDevide"<<endl;
  39. break;
  40. case OtherError:
  41. cout<<"ZeroDevide"<<endl;
  42. break;
  43. }
  44. }
  45. catch(...)
  46. {
  47. cout<<"Unknown exception!"<<endl;
  48. }
  49. return 0;
  50. }