假设这段C++代码:
class myexception1
{
public:
myexception1()
{};
};
class myexception2
{
public:
myexception2()
{
throw myexception1();
};
};
void test()
{
try
{
throw myexception2();
}
catch (...)
{
}
};
如果我运行该test
函数,哪种异常会收到 catch 块?这是否会因为从异常构造函数抛出异常而产生一些内存泄漏?
捕获的异常将是 myexception1。是否存在内存泄漏取决于异常构造函数究竟做了什么——在这种情况下不会有。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句