Product* p = NULL; try { p = new Product(); if (p->read()) { . . . } delete p; } catch (...) { delete p; throw; }