In previous versions of MFC, it was important that you clean up CString objects after use. With MFC version 3.0 and later, explicit cleanup is no longer necessary.
Under the C++ exception handling mechanism that MFC now uses, you do not have to worry about cleanup after an exception. For a description of how C++ "unwinds" the stack after an exception is caught, see the try, catch, and throw statements. Even if you use the MFC TRY/CATCH macros instead of the C++ keywords try and catch, MFC uses the C++ exception mechanism underneath, so you still do not need to clean up explicitly.