Reminder: When a C++ object fails to construct, the destructor does not run If you need to run after a failed construction, you have to put it in a base class or member variable. Click here to read the article