fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. void MyFunc( void );
  5.  
  6. class CTest
  7. {
  8. public:
  9. CTest(){};
  10. ~CTest(){};
  11. const char *ShowReason() const { return "Exception in CTest class."; }
  12.  
  13. };
  14.  
  15. class CDtorDemo
  16. {
  17. public:
  18. CDtorDemo();
  19. ~CDtorDemo();
  20. };
  21.  
  22. CDtorDemo::CDtorDemo()
  23. {
  24. cout << "Constructing CDtorDemo." << endl;
  25. throw CTest();
  26. }
  27.  
  28. CDtorDemo::~CDtorDemo()
  29. {
  30. cout << "Destructing CDtorDemo." << endl;
  31. }
  32.  
  33. int main()
  34. {
  35. try
  36. {
  37. CDtorDemo D;
  38. }
  39. catch( CTest E )
  40. {
  41. cout << E.ShowReason() << endl;
  42. };
  43. return 0;
  44. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
Constructing CDtorDemo.
Exception in CTest class.