异常构造函数中的异常

毛罗·H·莱吉里

假设这段C++代码:

class myexception1
{
public:
    myexception1()
    {};
};

class myexception2
{
public:
    myexception2()
    {
        throw myexception1();
    };
};

void test()
{
    try
    {
        throw myexception2();
    }
    catch (...)
    {
    }
};

如果我运行该test函数,哪种异常会收到 catch 块?这是否会因为从异常构造函数抛出异常而产生一些内存泄漏?

用户2100815

捕获的异常将是 myexception1。是否存在内存泄漏取决于异常构造函数究竟做了什么——在这种情况下不会有。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章