是否能在构造函数,析构函数中抛出异常?

1. 可以在构造函数中抛出异常。构造函数出现异常,不会调用析构函数,已构造的成员会逆序调用自身析构函数析构掉,但为了保证内存不泄露,尽量使用auto_ptr. “对象构造不可分割,要么完全成功,要么完全失败。”

https://www.cnblogs.com/KevinSong/p/3323372.html

2. 不可以早析构函数中抛出异常。虽然可以设置try catch内部捕获,却是不推荐的,因为从根本上说陷入了一个矛盾之中。

内部捕获问题参考SEH和FS:[0]寄存器详解:

https://www.cnblogs.com/zhchoutai/p/7396003.html

猜你喜欢

转载自blog.csdn.net/KristinaXu/article/details/82221106