Rules of Thumb for Designing Exception Classes

Rules of Thumb for Designing Exception Classes

When designing an exception class, think of it as a standalone class with data members and member functions. A well-designed exception class should have a member function that returns a verbal description of the exception. In applications that use error codes, you should also include a member function that returns the exception’s numeric code. This way, the handler of that exception doesn’t need to look for this information elsewhere; it can retrieve it from the exception object directly.

   class myException  {  // ..stuff  public:    const char * description() const;    int code_number() const;  };  catch( myException & ex)  {    cout<<" error occurred: "

Remember also that sometimes the same exception can be thrown in similar but not identical situations. For example, a DBMS system can throw the same exception when it encounters a referential integrity problem or an attempt to insert a duplicate key. To distinguish between these errors, the handler can query the exception object and obtain a precise description of the actual error that occurred.


Share the Post: