2017-02-25 126 views
0

假设这片的C++代码:如果我在运行test功能,这样的异常的将接收catch块异常异常构造

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

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

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

?这可能会产生一些内存泄漏,因为从异常构造函数抛出异常?

回答

0

捕捉到的异常将是myexception1。是否存在内存泄漏将取决于异常构造函数的确切含义 - 在这种情况下,不会有一个。

+0

谢谢回答。 –