C++异常处理的问题

一般在C语言中,是通过返回值或者设置errno的方式来标识错误的

但在C++里面,构造函数是没有返回值的,于是发明了异常的方式:为了正确的向使用者表明

异常抛出的原因,你必须弄清楚异常抛出的原因(比如有的是内存分配的时候出错,有的是成员构造出错)

还有一点需要注意,析构函数,从实现上不该抛异常的,因为析构很多时候是在stack unwinding 的时候调用的

如果真的有析构出错的情况,程序也只能直接挂掉,所以自定义析构函数要十分小心

原文地址:https://www.cnblogs.com/hustxujinkang/p/5095267.html