The game plan is to design an effective set of exception types and an effective set of exception strategies within the context of the software architecture. But the software architecture has to be verified and valid (refer to Table 2). An exception handling strategy is not a legitimate replacement for the testing stages. Defect removal is preferred over defect survival. If some defect slips through the cracks, however, we have the C++ exception handling mechanism to help fortify our software’s fault tolerance.