为什么析构函数不能抛出异常
通常析构函数中会做一些内存、资源的释放操作,如果析构函数抛出异常,则在异常点之后的一些释放操作就不能执行了,导致资源泄露.
可能会导致连续抛出异常,程序由于某种原因抛出异常,而异常导致析构函数的调用,析构函数如果再抛出异常,一个异常没有处理,又来一个,会造成程序崩溃的问题。
参考:《more effective C++》
通常析构函数中会做一些内存、资源的释放操作,如果析构函数抛出异常,则在异常点之后的一些释放操作就不能执行了,导致资源泄露.
可能会导致连续抛出异常,程序由于某种原因抛出异常,而异常导致析构函数的调用,析构函数如果再抛出异常,一个异常没有处理,又来一个,会造成程序崩溃的问题。
参考:《more effective C++》