【问题标题】:Exception in exception constructor异常构造函数中的异常
【发布时间】:2017-02-25 15:55:28
【问题描述】:

假设这段 C++ 代码:

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

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

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

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

【问题讨论】:

    标签: c++ exception-handling try-catch


    【解决方案1】:

    捕获的异常将是 myexception1。是否存在内存泄漏将取决于异常构造函数的确切作用——在这种情况下不会有。

    【讨论】:

    • 感谢您的回答。
    猜你喜欢
    • 2012-04-14
    • 2019-03-11
    • 2023-04-07
    • 2015-05-08
    • 2010-12-01
    • 2011-06-11
    • 2013-10-01
    • 2015-02-19
    • 1970-01-01
    相关资源
    最近更新 更多