Product* p = new Product(); if (p->read()) { . . . } delete p; // Never executes if read throws an exception