2017-02-25 165 views
0

假設這片的C++代碼:如果我在運行test功能,這樣的異常的將接收catch塊異常異常構造

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

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

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

?這可能會產生一些內存泄漏,因爲從異常構造函數拋出異常?

回答

0

捕捉到的異常將是myexception1。是否存在內存泄漏將取決於異常構造函數的確切含義 - 在這種情況下,不會有一個。

+0

謝謝回答。 –