DataArray::DataArray(int s) { data = new int[s]; init(s); // What happens if init throws exception? } DataArray::~DataArray() { delete[] data; } void DataArray::init(int s) throw (overflow_error) { . . . }