home *** CD-ROM | disk | FTP | other *** search
/ Using Visual C++ 4 (Special Edition) / Using_Visual_C_4_Special_Edition_QUE_1996.iso / ch13 / rules16.cpp < prev    next >
C/C++ Source or Header  |  1995-09-18  |  525b  |  33 lines

  1. // Get needed include files
  2. #include <iostream.h>
  3. #include <eh.h>
  4.  
  5. class Base { };
  6. class Derived : public Base { };
  7.  
  8. void Func1(int flag)
  9. {
  10.     cout << "In Func1.\n";
  11.     if (flag)
  12.         throw new Derived;
  13. }
  14.  
  15. void main()
  16. {
  17.     try {
  18.         Func1(1);
  19.     }
  20.     catch (Derived*) {
  21.         cout << "Caught a Derived* exception.\n";
  22.     }
  23.     catch (Base*) {
  24.         cout << "Caught a Base* exception.\n";
  25.     }
  26.     catch (void*) {
  27.         cout << "Caught a void* exception.\n";
  28.     }
  29.     catch (...) {
  30.         cout << "Caught an unrecognized exception.\n";
  31.     }
  32. }
  33.