try
{
...
}
catch(MYExcep* exp)
{
throw exp;
}
leaks on darwin 64 and compiled with gcc45.
change to :
try
{
...
}
catch(MYExcep* exp)
{
delete exp
throw new MyExcep;
}
everything goes ok!
本文探讨了在使用GCC 4.5编译环境下,针对自定义异常类MYExcep的处理方式导致的内存泄漏问题。作者通过修改catch块内的异常处理逻辑,有效地解决了这一问题。文中提供了一个具体的代码示例,展示了如何正确地释放异常对象并重新抛出新的异常。
try
{
...
}
catch(MYExcep* exp)
{
throw exp;
}
leaks on darwin 64 and compiled with gcc45.
change to :
try
{
...
}
catch(MYExcep* exp)
{
delete exp
throw new MyExcep;
}
everything goes ok!

被折叠的 条评论
为什么被折叠?
