Exceptions -------------------------------------------------------------------------------- I am working on a class project as layed out by the instructor. This is in conjunction with Chapter 13 (Exceptions) from the book How To Program in C++ by Deitle 4/e. I am at a total loss on this subject. I thought that catching problems was up to the compiler. I have included Figure 13.1 for an example as per instructions and some code I have been working on. Could someone please look this over and help me get my brain around exceptions or at least this project? // Fig. 13.1: fig13_01.cpp // A simple exception-handling example that checks for // divide-by-zero exceptions. Code: Code: #include <iostream> using std::cout; using std::cin; using std::endl; #include <exception> using std::exception; // DivideByZeroException objects should be thrown by functions // upon detecting division-by-zero exceptions class DivideByZeroException : public exception { public: // constructor specifies default error message DivideByZeroException::DivideByZeroException() : exception( "attempted to divide by zero" ) {} }; // end class DivideByZeroException // perform division and throw DivideByZeroException object if // divide-by-zero exception occurs double quotient( int numerator, int denominator ) { // throw DivideByZeroException if trying to divide by zero if ( denominator == 0 ) throw DivideByZeroException(); // terminate function // return division result return static_cast< double >( numerator ) / denominator; } // end function quotient int main() { int number1; // user-specified numerator int number2; // user-specified denominator double result; // result of division cout << "Enter two integers (end-of-file to end): "; // enable user to enter two integers to divide while ( cin >> number1 >> number2 ) { // try block contains code that might throw exception // and code that should not execute if an exception occurs try { result = quotient( number1, number2 ); cout << "The quotient is: " << result << endl; } // end try // exception handler handles a divide-by-zero exception catch ( DivideByZeroException ÷ByZeroException ) { cout << "Exception occurred: " << divideByZeroException.what() << endl; } // end catch cout << "\nEnter two integers (end-of-file to end): "; } // end while cout << endl; return 0; // terminate normally } // end main Here is the instructions and code I'm trying to use. /*Create a program that defines three user defined exception classes (called ExceptionOne, ExceptionTwo, and ExceptionThree - with the messages being the same as the name - see Figure 13.1 for an example). The program should have a loop with a menu with four selections - Option 1 will throw ExceptionOne, Option 2 ExceptionTwo, Option 3 ExceptionThree , and Option 4 to exit. The catch block should only catch the first two exceptions explicitly with the last exception caught generically. Make sure the switch logic is inside a try block followed by three catch blocks. ///////////////////////////////////////////////////////////////////////////////*/ Code: Code: #include <iostream> #include <exception> #include <ctime> using std::cout; using std::cin; using std::endl; class BaseException { public: // constructor specifies default error message ExceptionOne::BaseException () : ExceptionOne }// end class class ExceptionOne: public BaseException { public: ExceptionOne::ExceptionOne() :ExceptionOne }// end class class ExceptionTwo: public ExceptionOne { public: // constructor specifies default error message ExceptionTwo::ExceptionTwo() : ExceptionTwo } // end class class ExceptionThree: public ExceptionTwo { public: ExceptionThree::ExceptionThree() :ExceptionThree }// end class int main() { Any help greatly appreciated. Thanks