nException handling is difficult to do well.
nThe exception handling facilities of C++ provide mechanisms to separate error detection from error processing.
nThis can significantly improve the organization and reusability of our software.
nHowever, it is not a substitute for careful design.
nDesigning software must include considering both normal processing and error processing.
nWhen exception handling is poorly used, it can create
more problems than
it solves by creating a false sense of security.
nOn the other hand, if used properly, it can improve the robustness, maintainability, and reusability.