Joh*_*_sa 6 c++ constructor exception-handling
如果我创建6个对象并且这些对象创建5个对象并且在创建第6个对象时失败,我如何处理构造函数中的异常?
谢谢.
当构造函数中抛出异常时,所有完全构造的子对象都会被销毁。由于让构造对象的析构函数管理其资源是一种很好的做法,因此无需对这些子对象执行任何操作。剩下的就是在抛出异常时清理当前正在执行的构造函数的主体。然而,这与任何其他函数中的清理没有什么不同。
请注意,销毁顺序与构造顺序相反。也就是说,当所有子对象尚未被销毁时,首先开始体内的清理。然后成员被销毁,然后是非虚拟基类,最后是虚拟基类。
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |