A proper RAII object has no pre-acquisition state, hence the acronym. Such objects are always valid and ready for use. That means resource acquisition has to take place in the constructor, which means you need to report errors by throwing if you&#x27;re not to leave the object in some kind of non-valid state.<p>(I&#x27;d have thought the cleanup-in-the-destructor part was more important, and thus more worthy of being emphasised in the acronym - but there you go.)