最终,异常保证机制的目的是确保对象处于一致的状态,以便可以安全地销毁对象(基本保证)或者在抛出异常时撤消对象上的所有操作,使对象恢复到先前的状态(强保证)。在必须按步骤更改对象、多个步骤已完成并且随后可能会抛出异常的情况下,强保证是不适用的(因此无法安全地撤消已完成的步骤,或者撤消这些步骤所需的时间/资源太高)。 - Peter
@Peter:基本保证下,异常抛出后销毁不是唯一的可能操作。基本保证最小限度允许调用没有前置条件的任何方法,例如在一个文件上调用 is_open()。 - John Zwinck
is_open()
。 - John Zwinck