假设这段C ++代码:
class myexception1
{
public:
myexception1()
{};
};
class myexception2
{
public:
myexception2()
{
throw myexception1();
};
};
void test()
{
try
{
throw myexception2();
}
catch (...)
{
}
};
如果我运行test
函数,哪种异常会收到catch块?这会因为从异常构造函数中抛出异常而产生一些内存泄漏吗?
答案 0 :(得分:0)
捕获的异常将是myexception1。是否存在内存泄漏将取决于异常构造函数究竟是什么 - 在这种情况下不会有一个。