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

  1. // Get needed include files
  2. #include <limits.h>
  3. #include <iostream.h>
  4. #include <eh.h>
  5.  
  6. unsigned short Add(unsigned short addend1, unsigned short addend2)
  7. {
  8.     unsigned long sum = addend1 + addend2;
  9.     if (sum > USHRT_MAX)
  10.         throw 1;
  11.     return (unsigned short) sum;
  12. }
  13.  
  14. unsigned short Divide(unsigned short dividend, unsigned short divisor)
  15. {
  16.     if (divisor == 0)
  17.         throw "Divide by zero";
  18.     return (dividend / divisor);
  19. }
  20.  
  21. void main()
  22. {
  23.     try {
  24.         unsigned short Result = Add(12345, 12345);
  25.         cout << "The first answer is " << Result << "\n";
  26.         Result = Divide(55, 0);
  27.         cout << "The second answer is " << Result << "\n";
  28.     }
  29.     catch (int) {
  30.         cout << "An addition overflow occurred!\n";
  31.     }
  32.     catch (...) {
  33.         cout << "Something else bad happened.\n";
  34.     }
  35. }
  36.