Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Advanced
Jul 1, 1998

Exceptions as objects

The traditional convention of sending an integer as an error flag is problematic and unsatisfactory in OOP. The C++ exception handling mechanism can offer much more flexibility, safety and robustness. It's important to note that an exception is just like any other object: it can have data members and member functions. This gives the exception handler more options for recovery rather than aborting the program. A clever exception object can have a member function which returns a detailed verbal description of the error (instead of letting the handler look it up in some table). It can also offer a rectifying member function, enabling the program to revert. For example, a logger class which appends new records to an existing log file. Whenever it fails to open the log file, it throws an exception object. The corresponding handler can query the exception why it was thrown and react accordingly. Furthermore, a clever exception object can have a member function which creates a dialog box . The operator can gather all the relevant information about the exception and choose recovery measures from the dialog box: create a new log file, redirect the logger to another file, or simply let the system run without a logger.
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap