百科问答小站 logo
百科问答小站 font logo



为什么C++在构造函数和析构函数中不能抛出异常? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      

我觉得最重要的是在逻辑上,当一个对象初始化到一半时,抛了异常的话,这个对象的状态应该如何定义?

不是全未初始化,也不是初始化完成。这种中间状态是要是扩散和暴露到外部代码中,会是很麻烦的。

如果说内部再维护一套更精细的状态指标,那完全不抛异常,用isReady之类的函数封装一下这个指标来指示这个对象的现状,也没什么麻烦。




  

相关话题

  大一新生做C语言课设被强制要求使用 Borland C++ 3.1,此IDE相对于其他IDE有何优点? 
  LeetCode上 C++ 官方题解为什么有很多没有写delete,不会内存泄漏么?面试时也可以么? 
  什么情况下使用异常处理? 
  工厂模式(factory Method)的本质是什么?为什么引入工厂模式? 
  为什么说C++的main函数最后不写 return 0; 是不好的习惯? 
  如何优雅地利用c++编程从1乘到20? 
  为什么C++在构造函数和析构函数中不能抛出异常? 
  是 C++ 的发展进入了邪路,还是我写代码的姿势不正确? 
  有个人说C++程序入口是mainCRTStartup,另一个人说是main,然后打起来了,如何评理? 
  c中struct 为什么可以在数据结构这样用? 

前一个讨论
我报了个钢琴班,8880元,上了两节课,要求退款合理吗?
下一个讨论
如何看待旧金山市议会宣布美国步枪协会为恐怖组织这一事件,它反映了美国政治的哪些问题?





© 2025-02-22 - tinynew.org. All Rights Reserved.
© 2025-02-22 - tinynew.org. 保留所有权利