This input operator does not maintain the proper state of the destination object if errors occur during input.
If we gave this operator the data in previous exercise, the first group would be read correctly, while the second wouldn't and the state of the object would be inconsistent.