Exception Handling
C++ allows us to detect error conditions at any point in a
program (the throw point) and then transfer control and
information (the exception) to another point in the program
(the exception handler) for error processing.
This process (exception handling) allows functions to
detect error conditions and then defer the processing or
handling of those error conditions to a direct or indirect
caller of those functions.
Exception handling allows us to separate normal
processing from error processing.
This, in turn, improves the structure, organization, and
reusability of our software.